Elasticsearch: Мастер узел не обнаружен (Master node not discovered yet)

Для правильного запуска кластера Elasticsearch необходимо, чтобы в нем был определен главный узел. Кроме того, для избрания главного узла требуется кворум в 50 %, и один из узлов должен иметь право голоса. Если в кластере нет кворума, он не запустится. Дополнительную информацию можно найти в этом руководстве по проблеме раздвоения мозга.

Возможные причины

Неправильные настройки обнаружения

Если вы получаете это предупреждение в журналах:

Тогда наиболее вероятное объяснение - неправильные настройки в файле elasticsearch.yml, которые не позволяют узлу корректно обнаруживать узлы.

Чтобы функция обнаружения работала, начальные узлы должны содержать список узлов кластера (из которых хотя бы один должен быть доступен при первом присоединении узла к кластеру).

Если кластер запускается впервые, то также важна следующая настройка:

Обратите внимание, что здесь настройки - это имена узлов (а не IP-адреса) подходящих мастер-узлов, которые имеют эту настройку:

Мастер не избран

Если вы видите сообщение:

Это говорит о том, что в кластере ранее существовало несколько мастер-узлов, но теперь их недостаточно. Вероятная причина заключается в том, что мастер-узлы были удалены из кластера, и поэтому не был достигнут кворум для избрания нового мастер-узла. Если вы недавно прекратили работу мастер-узлов, то вам нужно будет добавить их обратно или подождать, пока Elasticsearch настроит кворум в соответствии с реальным количеством доступных мастер-узлов.

Проблемы со стабильностью узлов

Если мастер узлы также имеют роль узлов данных и испытывают нагрузку из-за интенсивного индексирования или поиска, это может привести к их недоступности, что, в свою очередь, может повлиять на способность кластера избрать нового ведущего узла. В кластерах, на которые приходится большая нагрузка при индексировании или поиске, рекомендуется создавать выделенные мастер-узлы.

Если на тех же машинах, что и мастер-узлы, работают другие приложения, то возможно, что эти процессы могут оставить мастер-узел с недостаточными ресурсами для выполнения своей работы, что приведет к нестабильности кластера.

В частности, если вы управляете кластером с помощью технологий контейнеризации, таких как Docker или Kubernetes, убедитесь, что вашим главным узлам гарантировано достаточно ресурсов для выполнения их работы и что они не дестабилизированы другими процессами, запущенными на хост-машинах, на которых работают главные узлы.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий