Elasticsearch: Отсутствие кворума

Ошибка "Lack of Quorum" возникает, когда в кластере Elasticsearch нет "кворума" узлов с правом голоса для избрания нового ведущего узла.

Lack of Quorum

Узлами с правом голоса могут быть любые узлы с любой из следующих конфигураций:

При этом не имеет значения, является ли узел выделенным master-узлом или нет.

Кворум может быть потерян по одной или нескольким из следующих причин:

  • Неправильная конфигурация (недостаточное количество узлов с правами голосования)
  • Узлы преднамеренно удалены из кластера
  • Сетевые проблемы, приводящие к отключению узлов от кластера
  • Проблемы с производительностью, приводящие к отказу узлов.

Не следует удалять одновременно более одного узла с правом голоса. Кворум" кластера поддерживается в состоянии кластера, и кластеру требуется некоторое время (по умолчанию 30 с) для настройки кворума в соответствии с количеством доступных узлов с правом голоса.

Данная статья основана на Elasticsearch версии 7. В 7-й версии полностью изменен способ настройки мастер-узлов и прав голосования. В более ранних версиях эта ситуация описывается как проблема split brain - подробнее о старой версии можно прочитать здесь: Elasticsearch: split brain.

Как решить эту проблему

Убедитесь, что в кластере есть как минимум 3 узла с правом голоса. Если их нет, то необходимо добавить новые узлы, имеющие право голоса.

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

Как избежать этой проблемы

Для больших кластеров рекомендуется настраивать 3 выделенных мастер-узла, а остальные узлы настраивать как:

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

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

В качестве альтернативы можно использовать:

Чтобы вручную удалить узел из конфигурации голосования.

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