быстрое восстановление после перезапуска узла в Elasticsearch

рассмотрим следующие настройки в elasticsearch.в формате YML

gateway.recover_after_data_nodes: 3
gateway.recover_after_time: 5m
gateway.expected_data_nodes: 3

текущие настройки: Скажем, у меня есть 3 узла данных. Теперь, если я решу перезапустить узел данных (из-за небольшого изменения настройки), восстановление начнется сразу после перезапуска узла в соответствии с параметром expected_data_nodes. Будет много неназначенных осколков, которые будут распределяться медленно в зависимости от содержащихся в них данных.

чтобы избежать этого, есть ли способ выделить все неназначенные осколки к определенному узлу?(в моем случае перезапуска узла) и как только это будет сделано, ЕС должен взять на баланс.

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

могу ли я использовать api перенаправления кластера для этой цели?

или есть какой-либо другой api для передачи всех неназначенных фрагментов на определенный узел за один раз?

1 ответов


для версии Elasticsearch > = 1.0.0:

curl -XPUT localhost:9200/_cluster/settings -d '{"transient":{"cluster.routing.allocation.enable": "none"}}'
/etc/init.d/elasticsearch restart
curl -XPUT localhost:9200/_cluster/settings -d '{"transient":{"cluster.routing.allocation.enable": "all"}}'

для более ранней версии ES:

curl -XPUT localhost:9200/_cluster/settings -d '{"transient":{"cluster.routing.allocation.disable_allocation": true}}'
/etc/init.d/elasticsearch restart
curl -XPUT localhost:9200/_cluster/settings -d '{"transient":{"cluster.routing.allocation.disable_allocation": false}}'

осколок держать нераспределенным до " кластера.маршрутизирующий.распределение.disable_allocation": false, затем осколки восстанавливаются на только что перезапущенном сервере (начиная с размера, который они были до завершения работы) Это очень быстро.

ссылка: http://elasticsearch-users.115913.n3.nabble.com/quick-recovery-after-node-restart-in-elasticsearch-td4033876.html#a4034211