Выделенный мастер-узел Elasticsearch

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

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

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

Как создать выделенную конфигурацию главного узла

Создайте 3 (и именно 3) выделенных мастер-узла

Для создания надежной архитектуры и предотвращения "проблемы раздвоенного мозга" в Elasticsearch используется кворумное принятие решений. Под проблемой "split brain" понимается ситуация, когда в случае потери узлами связи с кластером в итоге может образоваться два кластера. Для предотвращения этой проблемы Elasticsearch требует, чтобы половина +1 узлов, имеющих право голоса, выбирала нового ведущего узла. По этой причине настоятельно рекомендуется использовать 3 узла, чтобы обеспечить структуру, способную потерять 1 ведущий узел и остаться стабильной.

В зависимости от размера кластера мастер-узлу обычно требуется меньше ресурсов, чем узлу данных. Например, в кластере из 20 узлов, где узлы данных могут использовать машины с 64 Гбайт оперативной памяти, нормальным будет наличие 3 мастер-узлов с 1 или 2 Гбайт оперативной памяти.

Установить значение node master false на оставшихся узлах

Если ваши узлы данных в настоящее время настроены на то, чтобы быть ведущими узлами, удобно прекратить их работу в качестве ведущих узлов, установив значение:
node.master: false

Эту настройку следует изменять на одном узле за раз, перезапуская каждый узел и ожидая 60 секунд, чтобы Elasticsearch успел удалить узел из конфигурации голосования Elasticsearch перед переходом к следующему узлу. Невыполнение этого требования может привести к сбою в работе кластера.

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

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

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