Не удается подключиться к Elasticsearch (через Curl)

Я недавно установил Elasticsearch и все работало хорошо в течение первых нескольких дней, но сегодня он перестал работать

когда я запускаю службу, она утверждает, что все в порядке...

sudo /etc/init.d/elasticsearch start
* Starting Elasticsearch Server
...done.

но потом я получаю
curl -GET http://127.0.0.1:9200
curl: (7) couldn't connect to host

глядя на журналы elasticsearch:

[WARN ][bootstrap                ] jvm uses the client vm, make sure to run `java` with the server vm for best performance by adding `-server` to the command line

похоже, что есть предупреждение относительно Java VM; может быть, это проблема? Что еще я должен попробовать/посмотреть?

4 ответов


1) Проверьте состояние вашего порта 9200, С lsof команда в linux.

в моем случае следующий результат, когда есть.

prayag@prayag:~$ sudo lsof -i TCP | grep 9200 
chrome  2639 praayg   84u  IPv4 116310      0t0  TCP prayag.local:58989->10.0.4.70:9200 (ESTABLISHED)
chrome  2639 prayag   99u  IPv4 116313      0t0  TCP prayag.local:58990->10.0.4.70:9200 (ESTABLISHED)
java    7634 prayag  141u  IPv6 130960      0t0  TCP *:9200 (LISTEN)

elasticsearch не является услугой для меня, иначе найти порт es работает; я мог бы проверить,

$ sudo lsof -iTCP -sTCP:LISTEN | grep elasticsearch

2) Проверьте конечную точку elasticsearch

$ curl -IGET http://localhost:9200
HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8
content-length: 327
  • -IGET эквивалентно --head это возвращает только заголовки ответов http.

  • ответ 200 означает, что конечная точка elasticsearch отвечает должным образом.


curl -GET http://127.0.0.1:9200 неправильная команда.

попробовать curl -XGET http://127.0.0.1:9200. Он должен возвращать краткую информацию о вашем работающем локальном узле и статусе 200. Если это не сработает, значит, что-то не так.


обратите внимание на выделение и использование памяти. Если вы позволите ему использовать неограниченную память, он может рухнуть, когда вы меньше всего подозреваете. Вот учебник по Elasticseach 5 и Kibana в случае, если кто-то еще сталкивается с этой проблемой. https://medium.com/@adnanxteam/how-to-install-elasticsearch-5-and-kibana-on-homestead-vagrant-60ea757ff8c7


в любом случае, я бы попробовал команду:

curl-XGET http://localhost:9200