Elasticsearch

如何優雅關閉(零副本)?

  • July 29, 2014

我正在執行一個三節點 (elasticsearch) 集群,目前使用index.number_of_replicas: 0. 我想關閉其中一個節點進行維護。我有什麼選擇可以在不增加的情況下做到這一點number_of_replicas嗎?

在節點關閉之前,關閉 API 似乎不會重新平衡分片。因此,看起來我需要使用集群重新路由 API 將分片手動移動到另一個節點。這樣做會希望將其他分片重新平衡回我的節點,所以我想我需要以某種方式重新平衡集群。有沒有更好的選擇?

您可以通過告訴集群將其從分配中排除來停用節點。(來自 這裡的文件)

curl -XPUT localhost:9200/_cluster/settings -d '{
  "transient" :{
      "cluster.routing.allocation.exclude._ip" : "10.0.0.1"
   }
}';echo

這將導致 Elasticsearch 將該節點上的分片分配給其餘節點,而集群的狀態不會變為黃色或紅色(即使您有複製 0)。

重新分配所有分片後,您可以關閉節點並在那裡做任何您需要做的事情。完成後,包括要分配的節點,Elasticsearch 將再次重新平衡分片。

從https://stackoverflow.com/a/23905040/260805複製的答案

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