Elasticsearch
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 }
我用Google搜尋了一下,發現我應該列出未分配的分片,但 _cat 似乎在 0.90 中不存在。有沒有辦法恢復綠色?兩個節點當然可以互相 ping 通,所以我看不出它不能工作的原因。
在另一個文章上找到了答案,這裡是:
curl -XPOST ’localhost:9200/_cluster/reroute’ -d ‘{“命令”:
$$ { “allocate”: { “index”: “my-index”, “shard”: 0, “node”: “node_name”, “allow_primary”: 1 } } $$ }’ 對於需要重新分配的所有索引的每個分片,我都必須這樣做,其中有 500 個。那太好了。總之,解決了。