API исключений конфигурации голосования
Добавляет или удаляет узлы, имеющие право быть мастерами, из списка исключений конфигурации голосования.
Запрос
POST /_cluster/voting_config_exclusions?node_names=<node_names>
POST /_cluster/voting_config_exclusions?node_ids=<node_ids>
DELETE /_cluster/voting_config_exclusions
Предварительные условия
- Если функции безопасности Elasticsearch включены, необходимо иметь право доступа к кластеру, чтобы использовать этот API.
- Если функция прав доступа оператора включена, то использовать этот API могут только пользователи с правами оператора.
Описание
По умолчанию, если в кластере более трех узлов, имеющих право быть мастерами, и вы удаляете меньше половины узлов, имеющих право быть мастерами, конфигурация голосования автоматически уменьшается.
Если вы хотите уменьшить конфигурацию голосования до количества узлов меньше трех или удалить половину или более узлов, имеющих право быть мастерами, используйте этот API для удаления уходящих узлов из конфигурации голосования вручную. API добавляет запись для каждого указанного узла в список исключений конфигурации голосования кластера. Затем он ожидает, пока кластер переконфигурирует свою конфигурацию голосования для исключения указанных узлов.
В обычной работе кластеры не должны иметь исключений конфигурации голосования. После того, как исключенные узлы перестали функционировать, очистите исключения конфигурации голосования с помощью DELETE /_cluster/voting_config_exclusions. Этот API ожидает, пока узлы не будут полностью удалены из кластера, прежде чем вернуть результат. Если в вашем кластере есть исключения конфигурации голосования для узлов, которые вы больше не планируете удалять, используйте DELETE /_cluster/voting_config_exclusions?wait_for_removal=false для очистки исключений конфигурации голосования без ожидания выхода узлов из кластера.
Если API завершается ошибкой, его можно безопасно повторить. Только успешный ответ гарантирует, что узел был удален из конфигурации голосования и не будет восстановлен.
Исключения голосования необходимы только тогда, когда вы удаляете по меньшей мере половину узлов, имеющих право быть мастерами, из кластера за короткий промежуток времени. Они не требуются при удалении узлов, не имеющих права быть мастерами, или удалении меньше половины узлов, имеющих право быть мастерами.
Дополнительную информацию см. в разделе Удаление узлов, имеющих право быть мастерами.
Параметры запроса
-
node_names - Список имен узлов, которые необходимо исключить из конфигурации голосования, разделенные запятыми. Если указано, вы не можете также указать
?node_ids. -
node_ids - Список постоянных идентификаторов узлов, которые необходимо исключить из конфигурации голосования, разделенные запятыми. Если указано, вы не можете также указать
?node_names. -
timeout - (Необязательно, единицы измерения времени) При добавлении исключения конфигурации голосования API ожидает, что указанные узлы будут исключены из конфигурации голосования, прежде чем вернуть результат. Время ожидания задается параметром запроса
?timeout. Если таймаут истекает до того, как будет выполнено соответствующее условие, запрос завершается ошибкой и возвращается сообщение об ошибке. По умолчанию30s. -
wait_for_removal - (Необязательно, логическое значение) Указывает, нужно ли ожидать удаления всех исключенных узлов из кластера перед очисткой списка исключений конфигурации голосования. По умолчанию
true, что означает, что все исключенные узлы должны быть удалены из кластера, прежде чем этот API выполнит какие-либо действия. Если установлено значениеfalse, то список исключений конфигурации голосования очищается, даже если некоторые исключенные узлы все еще находятся в кластере.
Примеры
Добавляет узлы с именами nodeName1 и nodeName2 в список исключений конфигурации голосования:
POST /_cluster/voting_config_exclusions?node_names=nodeName1,nodeName2
Удаляет все исключения из списка:
DELETE /_cluster/voting_config_exclusions
© 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/7.17/voting-config-exclusions.html