API выключения узла
Эта функция предназначена для косвенного использования Elasticsearch Service, Elastic Cloud Enterprise и Elastic Cloud на Kubernetes. Прямое использование не поддерживается.
Подготавливает узел к выключению.
Запрос
PUT _nodes/<node-id>/shutdown
Предварительные условия
- Если функции безопасности Elasticsearch включены, для использования этого API необходимо иметь право доступа к кластеру.
- Если функция прав операторов включена, для использования этого API необходимо иметь права оператора.
Описание
Перемещает текущие задачи и фрагменты индексов на другие узлы по мере необходимости, чтобы подготовить узел к перезапуску или выключению и удалению из кластера. Это гарантирует, что Elasticsearch можно безопасно остановить с минимальными нарушениями работы кластера.
Вы должны указать тип выключения: restart, remove или replace. Если узел уже готовится к выключению, вы можете использовать этот API для изменения типа выключения.
Этот API НЕ завершает процесс Elasticsearch. Отслеживайте статус выключения узла, чтобы определить, когда можно безопасно остановить Elasticsearch.
Параметры пути
-
<node-id> - (Обязательно, строка) Идентификатор узла, который вы хотите подготовить к выключению. Если вы укажете узел, который отключен, он будет подготовлен к выключению при повторном присоединении к кластеру.
Этот параметр НЕ проверяется на активные узлы кластера. Это позволяет зарегистрировать узел для выключения, когда он оффлайн. Ошибка не выводится, если вы укажете недопустимый идентификатор узла.
Параметры запроса
-
master_timeout - (Необязательно, единицы измерения времени) Период ожидания подключения к мастер-узлу. Если ответ не получен до истечения тайм-аута, запрос завершается с ошибкой. По умолчанию
30s. -
timeout - (Необязательно, единицы измерения времени) Период ожидания ответа. Если ответ не получен до истечения тайм-аута, запрос завершается с ошибкой. По умолчанию
30s.
Тело запроса
-
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. Указывает имя узла, который заменяет узел, подлежащий выключению. Фрагменты с узла, подлежащего выключению, разрешено распределять только на целевой узел, и никакие другие данные не будут распределены на целевой узел. Во время перемещения данных определенные правила распределения игнорируются, например, пороговые значения дисков или правила фильтрации атрибутов пользователя.
Примеры
Регистрация узла для выключения:
PUT /_nodes/USpTGYaBSIKbgSUJR2Z9lg/shutdown
{
"type": "restart",
"reason": "Demonstrating how the node shutdown API works",
"allocation_delay": "20m"
} | Подготавливает узел к перезапуску. Используйте |
© 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/put-shutdown.html