Подтвердить что ты не робот

Ошибка Elasticsearch 503 при проверке статуса сервера

Я использую elasticsearch в качестве поисковой системы для моего приложения Rails, однако он перестает работать должным образом из-за причины, которую я не могу понять. Когда вы делаете запрос curl на сервер elasticsearch, я получаю ошибку 503.

curl -XGET http://localhost:9200
{
  "ok" : true,
  "status" : 503,
  "name" : "Killpower",
  "version" : {
    "number" : "0.90.3",
    "build_hash" : "5c38d6076448b899d758f29443329571e2522410",
    "build_timestamp" : "2013-08-06T13:18:31Z",
    "build_snapshot" : false,
    "lucene_version" : "4.4"
  },
  "tagline" : "You Know, for Search"
}

Я попытался решить проблему с перезагрузкой службы elasticsearch и без новой установки новой версии.

Вот что я нашел в журналах

[2013-09-03 12:31:45,320][INFO ][node                     ] [Killpower] version[0.90.3], 
pid[4222], build[5c38d60/2013-08-06T13:18:31Z]
[2013-09-03 12:31:45,321][INFO ][node                     ] [Killpower] initializing ...
[2013-09-03 12:31:45,327][INFO ][plugins                  ] [Killpower] loaded [], sites []
[2013-09-03 12:31:47,248][INFO ][node                     ] [Killpower] initialized
[2013-09-03 12:31:47,248][INFO ][node                     ] [Killpower] starting ...
[2013-09-03 12:31:47,313][INFO ][transport                ] [Killpower] bound_address {inet[/0:0:0:0:0:0:0:0:9300]}, publish_address {inet[/172.20.46.32:9300]}
[2013-09-03 12:31:51,443][INFO ][discovery.zen            ] [Killpower] master_left [[Amphibion][IMB4uACSTyOx3MO2u-FsWg][inet[/fe80:0:0:0:52e5:49ff:fec2:9718%2:9300]]], reason [do not exists on master, act as master failure]
[2013-09-03 12:31:51,446][INFO ][discovery                ] [Killpower] elasticsearch/iavpGrMtRHmWLHMTNpscGQ
[2013-09-03 12:31:51,483][INFO ][http                     ] [Killpower] bound_address {inet[/0:0:0:0:0:0:0:0:9200]}, publish_address {inet[/172.20.46.32:9200]}
[2013-09-03 12:31:51,484][INFO ][node                     ] [Killpower] started
[2013-09-03 12:31:54,712][WARN ][transport.netty          ] [Killpower] exception caught on transport layer [[id: 0xa929f24d, /127.0.0.1:50456 => /127.0.0.1:9300]], closing connection

После этого также следует длинная java stacktrace. Как я могу исправить проблему?

4b9b3361

Ответ 1

В вашей локальной сети может быть еще один экземпляр с сервером elasticsearch и запущен. Поскольку осколки в elasticsearch работают из коробки и включены по умолчанию, может возникнуть конфликт мастера node. Просмотрите файл elasticsearch.log. Если есть что-то вроде

{"error":"MasterNotDiscoveredException[waited for [30s]]","status":503} 

Вы должны перейти в свой конфигурационный файл /etc/elasticsearch/elasticsearch.yml и добавить эту строку:

discovery.zen.ping.multicast.enabled: false

Ответ 2

дополнительно проверьте значение

discovery.zen.ping.unicast.hosts

так как необходимо найти упругие узлы

Ответ 3

Установите головку, чтобы вы могли видеть состояние более подробно. Я думаю, что 503 может отображаться в статусе, когда кластер не восстанавливается должным образом, например, потерянный/невосстанавливаемый осколок

В каталоге elasticsearch:

bin/plugin -install mobz/elasticsearch-head

Затем в вашем браузере:

http://127.0.0.1:9200/_plugin/head/