Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Guide [8.17] ›REST API ›API жизненного цикла узла

API выключения узла

Эта функция предназначена для косвенного использования Elasticsearch Service, Elastic Cloud Enterprise и Elastic Cloud on Kubernetes. Прямое использование не поддерживается.

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

Для получения самых актуальных данных об API обратитесь к API жизненного цикла узла.

Подготавливает узел к выключению.

Запрос

PUT _nodes/<node-id>/shutdown

Предварительные условия

  • Если функции безопасности Elasticsearch включены, вам необходимо иметь право manage на управление кластером для использования этого API.
  • Если функция прав оператора включена, вы должны быть оператором для использования этого API.

Описание

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

Вы должны указать тип выключения: restart, remove или replace. Если узел уже готовится к выключению, вы можете использовать этот API для изменения типа выключения.

Этот API НЕ завершает процесс Elasticsearch. Отслеживайте состояние выключения узла состояние выключения узла, чтобы определить, когда можно безопасно остановить Elasticsearch.

Параметры пути

<node-id>
(Обязательно, строка) Идентификатор узла, который вы хотите подготовить к выключению. Если вы укажете оффлайн узел, он будет подготовлен к выключению при повторном подключении к кластеру.

Этот параметр НЕ проверяется на соответствие активным узлам кластера. Это позволяет зарегистрировать узел для выключения, пока он не подключён. Ошибка не генерируется при указании недопустимого идентификатора узла.

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

master_timeout
(Необязательно, единицы измерения времени) Время ожидания узла-мастера. Если узел-мастер недоступен до истечения таймаута, запрос завершается с ошибкой. По умолчанию 30s. Также может быть установлено значение -1, чтобы указать, что запрос никогда не должен таймаутиться.

Тело запроса

type
(Обязательно, строка) Допустимые значения: restart, remove или replace. Используйте restart, когда необходимо временно отключить узел для проведения обновления, изменения конфигурации или выполнения других задач по обслуживанию. Поскольку ожидается, что узел вновь присоединится к кластеру, данные не мигрируются с узла. Используйте remove, когда необходимо навсегда удалить узел из кластера. Узел не отмечается как готовый к выключению, пока данные не будут мигрированы с узла. Используйте replace для 1:1 замены узла другим узлом. Некоторые решения по распределению будут игнорироваться (например, пороговые значения дисков) в интересах полной замены исходного узла целевым узлом. Во время выключения типа «замена» перенос и создание индексов могут привести к неназначенным фрагментам, а сжатие может завершиться неудачей, пока замена не будет завершена.
reason
(Обязательно, строка) Читабельный текст причины выключения узла. Этот параметр предоставляет информацию для других операторов кластера; он не влияет на процесс выключения.
allocation_delay
(Необязательно, строка) Действителен только если type равно restart. Управляет тем, сколько времени Elasticsearch будет ждать перезапуска узла и присоединения его к кластеру перед перераспределением фрагментов на другие узлы. Это работает так же, как и отсрочка распределения с параметром index.unassigned.node_left.delayed_timeout. Если вы укажете как задержку распределения при перезапуске, так и задержку распределения на уровне индекса, используется более длительное значение.
target_node_name
(Необязательно, строка) Действителен только если type равно replace. Указывает имя узла, который заменяет отключаемый узел. Фрагменты с отключаемого узла разрешено распределять только на целевой узел, и никакие другие данные не будут распределены на целевой узел. Во время перемещения данных некоторые правила распределения игнорируются, такие как пороговые значения дисков или правила фильтрации атрибутов пользователей.

Примеры

Регистрация узла для выключения:

resp = client.shutdown.put_node(
    node_id="USpTGYaBSIKbgSUJR2Z9lg",
    type="restart",
    reason="Demonstrating how the node shutdown API works",
    allocation_delay="20m",
)
print(resp)
response = client.shutdown.put_node(
  node_id: 'USpTGYaBSIKbgSUJR2Z9lg',
  body: {
    type: 'restart',
    reason: 'Demonstrating how the node shutdown API works',
    allocation_delay: '20m'
  }
)
puts response
const response = await client.shutdown.putNode({
  node_id: "USpTGYaBSIKbgSUJR2Z9lg",
  type: "restart",
  reason: "Demonstrating how the node shutdown API works",
  allocation_delay: "20m",
});
console.log(response);
PUT /_nodes/USpTGYaBSIKbgSUJR2Z9lg/shutdown
{
  "type": "restart", 
  "reason": "Demonstrating how the node shutdown API works",
  "allocation_delay": "20m"
}

Подготавливает узел к перезапуску. Используйте remove для узлов, которые будут навсегда удалены из кластера.

© 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/put-shutdown.html

Spec-Zone.ru

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