Разрешение Elasticsearch выделять индекс
Выделение данных можно контролировать с помощью настройки включения выделения. В определенных ситуациях пользователи могут временно отключить или ограничить выделение данных.
Если забыть повторно разрешить выделение всех данных, это может привести к неназначенным фрагментам.
Чтобы (снова) разрешить выделение всех данных, выполните следующие действия:
Для назначения фрагментов нам нужно изменить значение настройки, которая ограничивает назначение фрагментов для all.
Используйте Kibana
- Войдите в консоль Elastic Cloud.
-
На панели Службы Elasticsearch щелкните имя вашего развертывания.
Если имя вашего развертывания отключено, ваши экземпляры Kibana могут быть неисправны. В этом случае обратитесь в службу поддержки Elastic. Если ваше развертывание не включает Kibana, вам нужно будет сначала его включить.
-
Откройте меню боковой навигации развертывания (расположено под логотипом Elastic в верхнем левом углу) и перейдите к Dev Tools > Console.
-
Просмотрите
index.routing.allocation.enableнастройку индекса для индекса с неназначенными фрагментами:resp = client.indices.get_settings( index="my-index-000001", name="index.routing.allocation.enable", flat_settings=True, ) print(resp)response = client.indices.get_settings( index: 'my-index-000001', name: 'index.routing.allocation.enable', flat_settings: true ) puts response
const response = await client.indices.getSettings({ index: "my-index-000001", name: "index.routing.allocation.enable", flat_settings: "true", }); console.log(response);GET /my-index-000001/_settings/index.routing.allocation.enable?flat_settings
Ответ будет похож на этот:
{ "my-index-000001": { "settings": { "index.routing.allocation.enable": "none" } } }Представляет текущее значение настройки, которая контролирует, разрешено ли частично или полностью выделять индекс.
-
Измените значение настройки, чтобы разрешить полное выделение индекса:
resp = client.indices.put_settings( index="my-index-000001", settings={ "index": { "routing.allocation.enable": "all" } }, ) print(resp)response = client.indices.put_settings( index: 'my-index-000001', body: { index: { 'routing.allocation.enable' => 'all' } } ) puts responseconst response = await client.indices.putSettings({ index: "my-index-000001", settings: { index: { "routing.allocation.enable": "all", }, }, }); console.log(response);PUT /my-index-000001/_settings { "index" : { "routing.allocation.enable" : "all" } }Новое значение настройки
allocation.enableдля индексаmy-index-000001изменено на разрешение выделения всех фрагментов.
Для назначения фрагментов нам нужно изменить значение настройки, которая ограничивает назначение фрагментов для all.
-
Просмотрите
index.routing.allocation.enableнастройку индекса для индекса с неназначенными фрагментами:resp = client.indices.get_settings( index="my-index-000001", name="index.routing.allocation.enable", flat_settings=True, ) print(resp)response = client.indices.get_settings( index: 'my-index-000001', name: 'index.routing.allocation.enable', flat_settings: true ) puts response
const response = await client.indices.getSettings({ index: "my-index-000001", name: "index.routing.allocation.enable", flat_settings: "true", }); console.log(response);GET /my-index-000001/_settings/index.routing.allocation.enable?flat_settings
Ответ будет похож на этот:
{ "my-index-000001": { "settings": { "index.routing.allocation.enable": "none" } } }Представляет текущее значение настройки, которая контролирует, разрешено ли частично или полностью выделять индекс.
-
Измените значение настройки, чтобы разрешить полное выделение индекса:
resp = client.indices.put_settings( index="my-index-000001", settings={ "index": { "routing.allocation.enable": "all" } }, ) print(resp)response = client.indices.put_settings( index: 'my-index-000001', body: { index: { 'routing.allocation.enable' => 'all' } } ) puts responseconst response = await client.indices.putSettings({ index: "my-index-000001", settings: { index: { "routing.allocation.enable": "all", }, }, }); console.log(response);PUT /my-index-000001/_settings { "index" : { "routing.allocation.enable" : "all" } }Новое значение настройки
allocation.enableдля индексаmy-index-000001изменено на разрешение выделения всех фрагментов.
© 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/allow-all-index-allocation.html