У мене кластер ES з 4 вузлами:
number_of_replicas: 1
search01 - master: false, data: false
search02 - master: true, data: true
search03 - master: false, data: true
search04 - master: false, data: true
Мені довелося перезапустити search03, і коли він повернувся, він знову приєднався до кластеру без проблем, але залишив 7 непризначених черепків.
{
"cluster_name" : "tweedle",
"status" : "yellow",
"timed_out" : false,
"number_of_nodes" : 4,
"number_of_data_nodes" : 3,
"active_primary_shards" : 15,
"active_shards" : 23,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 7
}
Зараз мій кластер знаходиться в жовтому стані. Який найкращий спосіб вирішити це питання?
- Видалити (скасувати) черепки?
- Перенести черепки на інший вузол?
- Виділити черепки до вузла?
- Оновіть 'number_of_replicas' до 2?
- Щось ще цілком?
Цікаво, що коли додали новий індекс, той вузол почав працювати над ним і чудово грав з рештою кластеру, він просто залишив непризначені черепки, що лежать навколо.
Слідкуйте за запитанням: чи я роблю щось не так, щоб це сталося в першу чергу? Я не маю великої впевненості в кластері, який веде себе таким чином при перезапуску вузла.
ПРИМІТКА. Якщо ви працюєте з одним кластерним вузлом з якихось причин, вам може просто потрібно виконати наступне:
curl -XPUT 'localhost:9200/_settings' -d '
{
"index" : {
"number_of_replicas" : 0
}
}'
{ "error" : "ElasticsearchIllegalArgumentException[[allocate] failed to find [logstash-2015.01.05][1] on the list of unassigned shards]", "status" : 400 }
Хоча я бачу, що осколок є одним з нерозподілених в ES-Head