У нас есть кластер 0.90 с двумя узлами elasticsearch. Некоторое время их статус часто становился желтым, а затем возвращался к зеленому, но теперь он красный и, похоже, остается таким. Здоровье такое:
{
"cluster_name" : "name",
"status" : "red",
"timed_out" : false,
"number_of_nodes" : 4,
"number_of_data_nodes" : 2,
"active_primary_shards" : 724,
"active_shards" : 1448,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 544
}
Я немного погуглил и обнаружил, что мне нужно перечислить нераспределенные шарды, но _cat, похоже, не существует в 0.90. Есть ли способ вернуться к зеленому? Конечно, оба узла могут пинговать друг друга, поэтому я не вижу причин, по которым это не сработает.
Нашел ответ в другом посте, вот он:
curl -XPOST 'localhost: 9200 / _cluster / reroute' -d '{"команды": [{"allocate": {"index": "my-index", "shard": 0, "node": "node_name" , "allow_primary": 1}}]} '
Мне пришлось сделать это для каждого шарда всех индексов, нуждающихся в перераспределении, их было 500. Это было просто здорово. Во всяком случае, это решено.