Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Guide [7.17] ›REST API ›Cluster API

API обновления настроек кластера

Настраивает динамические настройки кластера.

Запрос

PUT /_cluster/settings

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

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

Описание

Вы можете настроить и обновить динамические настройки в работающем кластере с помощью API обновления настроек кластера. Вы также можете настроить динамические настройки локально на неинициализированном или остановленном узле, используя elasticsearch.yml.

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

Если вы настраиваете одну и ту же настройку несколькими способами, Elasticsearch применяет настройки в следующем порядке приоритета:

  1. Временная настройка
  2. Постоянная настройка
  3. elasticsearch.yml настройка
  4. Значение по умолчанию

Например, вы можете применить временную настройку, чтобы переопределить постоянную настройку или elasticsearch.yml настройку. Однако изменение elasticsearch.yml настройки не переопределит определённую временную или постоянную настройку.

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

Если вы работаете с Elasticsearch на собственном оборудовании, используйте API обновления настроек кластера для настройки динамических настроек кластера. Используйте только elasticsearch.yml для статических настроек кластера и настроек узлов. API не требует перезапуска и гарантирует, что значение настройки одинаково на всех узлах.

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

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

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

Примеры

Пример постоянного обновления:

PUT /_cluster/settings
{
  "persistent" : {
    "indices.recovery.max_bytes_per_sec" : "50mb"
  }
}

Пример временного обновления:

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

PUT /_cluster/settings?flat_settings=true
{
  "transient" : {
    "indices.recovery.max_bytes_per_sec" : "20mb"
  }
}

Ответ на обновление содержит изменённую настройку, как в этом ответе на пример временного обновления:

{
  ...
  "persistent" : { },
  "transient" : {
    "indices.recovery.max_bytes_per_sec" : "20mb"
  }
}

Этот пример сбрасывает настройку:

PUT /_cluster/settings
{
  "transient" : {
    "indices.recovery.max_bytes_per_sec" : null
  }
}

Ответ не включает настройки, которые были сброшены:

{
  ...
  "persistent" : {},
  "transient" : {}
}

Вы также можете сбросить настройки, используя подстановочные знаки. Например, чтобы сбросить все динамические indices.recovery настройки:

PUT /_cluster/settings
{
  "transient" : {
    "indices.recovery.*" : null
  }
}

© 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/cluster-update-settings.html

Spec-Zone.ru

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