Elasticsearch

elasticsearch中未分配的分片

  • June 14, 2016

我們有一個 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 個。那太好了。總之,解決了。

引用自:https://serverfault.com/questions/782416