Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›REST API ›Cluster APIs

API исключений конфигурации голосования

Справочник по новым API

Для получения самых актуальных данных об API обратитесь к 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, необходимо иметь manage право доступа к кластеру для использования данного API.
  • Если включена функция прав доступа оператора, то использовать API могут только пользователи-операторы.

Описание

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

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

В нормальной работе кластеры не должны иметь исключений конфигурации голосования. После остановки исключенных узлов очистите исключения конфигурации голосования с помощью DELETE /_cluster/voting_config_exclusions. Данный API ожидает полного удаления узлов из кластера перед возвратом. Если в вашем кластере есть исключения конфигурации голосования для узлов, которые вы больше не собираетесь удалять, используйте DELETE /_cluster/voting_config_exclusions?wait_for_removal=false для очистки исключений конфигурации голосования без ожидания выхода узлов из кластера.

Ответ на POST /_cluster/voting_config_exclusions со статусом HTTP 200 OK гарантирует, что узел был удален из конфигурации голосования и не будет восстановлен до тех пор, пока исключения конфигурации голосования не будут очищены путем вызова DELETE /_cluster/voting_config_exclusions. Если вызов POST /_cluster/voting_config_exclusions завершится ошибкой или вернет ответ с кодом HTTP, отличным от 200 OK, узел может не быть удален из конфигурации голосования. В этом случае вы можете безопасно повторить вызов.

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

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

Параметры запроса

node_names
Список узлов, которые нужно исключить из конфигурации голосования, разделенные запятыми. Если указано, вы не можете указать ?node_ids. Применимо только к форме API POST.
node_ids
Список постоянных идентификаторов узлов, которые нужно исключить из конфигурации голосования, разделенные запятыми. Если указано, вы не можете указать ?node_names. Применимо только к форме API POST.
timeout
(Необязательно, единицы времени) При добавлении исключения конфигурации голосования API ожидает, что указанные узлы будут исключены из конфигурации голосования перед возвратом. Время ожидания задается параметром запроса ?timeout. Если таймаут истекает до того, как выполнится соответствующее условие, запрос завершается ошибкой. По умолчанию 30s. Применимо только к форме API POST.
master_timeout
(Необязательно, единицы времени) Определяет, как долго ждать, пытаясь направить запрос на текущий мастер-узел в кластере. По умолчанию 30s. Применимо к обеим формам API POST и DELETE.
wait_for_removal
(Необязательно, логическое значение) Указывает, нужно ли ждать, пока все исключенные узлы будут удалены из кластера перед очисткой списка исключений конфигурации голосования. По умолчанию true, что означает, что все исключенные узлы должны быть удалены из кластера, прежде чем данный API предпримет какие-либо действия. Если установлено значение false, список исключений конфигурации голосования очищается, даже если некоторые исключенные узлы все еще находятся в кластере. Применимо только к форме API DELETE.

Примеры

Добавляет узлы с именами nodeName1 и nodeName2 в список исключений конфигурации голосования:

resp = client.cluster.post_voting_config_exclusions(
    node_names="nodeName1,nodeName2",
)
print(resp)
const response = await client.cluster.postVotingConfigExclusions({
  node_names: "nodeName1,nodeName2",
});
console.log(response);
POST /_cluster/voting_config_exclusions?node_names=nodeName1,nodeName2

Удалить все исключения из списка:

resp = client.cluster.delete_voting_config_exclusions()
print(resp)
const response = await client.cluster.deleteVotingConfigExclusions();
console.log(response);
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/8.17/voting-config-exclusions.html

Spec-Zone.ru

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