Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›Настройка Elasticsearch ›Обнаружение и формирование кластера

Принятие решений на основе кворума

Выбор узла-мастера и изменение состояния кластера — две фундаментальные задачи, которые должны совместно выполнять узлы, имеющие право быть мастерами. Важно, чтобы эти действия работали надёжно даже при выходе из строя некоторых узлов. Elasticsearch достигает этой надёжности, рассматривая каждое действие как успешное при получении ответов от кворума, который представляет собой подмножество узлов кластера, имеющих право быть мастерами. Преимущество требования ответов только от подмножества узлов заключается в том, что некоторые узлы могут выйти из строя, не препятствуя прогрессу кластера. Кворумы тщательно выбираются таким образом, чтобы кластер не попадал в ситуацию «раздвоенного мозга», когда он разделен на две части, и каждая часть может принимать решения, несовместимые с решениями другой части.

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

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

Чтобы гарантировать доступность кластера, необходимо не останавливать одновременно половину или более узлов в конфигурации голосования. Пока доступна более половины голосующих узлов, кластер может нормально работать. Это означает, что если есть три или четыре узла, имеющие право быть мастерами, кластер может переносить отсутствие одного из них. Если узлов, имеющих право быть мастерами, два или меньше, все они должны оставаться доступными.

Если вы одновременно останавливаете половину или более узлов в конфигурации голосования, кластер будет недоступен до тех пор, пока вы не вернёте в работу достаточно узлов, чтобы снова сформировать кворум. Пока кластер недоступен, любые оставшиеся узлы будут сообщать в своих журналах, что они не могут обнаружить или выбрать узел-мастер. Дополнительную информацию см. в разделе Отладка обнаружения.

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

Выборы мастера

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

Техническое обслуживание кластера, поэтапные перезагрузки и миграции

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

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/modules-discovery-quorums.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API