Назад | Перейти на главную страницу

Неназначенные осколки в elasticsearch

У нас есть кластер 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. Это было просто здорово. Во всяком случае, это решено.