我們可以設置集群的平衡參數來暫時禁用掉平衡,具體步驟如下:
1.如果可能的話,先暫停掉數據新增和更新操作,這樣會提高集群恢復的時間;
2.禁用集群分片平衡操作,直到告訴集群可以恢復平衡操作為止,禁用配置方式:
PUT /_cluster/settings { "transient" : { "cluster.routing.allocation.enable" : "none" } }
注意:put操作的時候,如果不是在集群節點上,需要加上完成的路徑,如:
curl -XPUT http://192.168.1.2:9200/_cluster/settings -d’ { “transient” : { “cluster.routing.allocation.enable” : “none” } }’
3.關掉需要維護的節點;
4.執行維護/升級;
5.重啟該節點,保證該節點順利加入到集群中;
6.重啟平衡參數配置操作,修改配置方式:
PUT /_cluster/settings { "transient" : { "cluster.routing.allocation.enable" : "all" } }
注意:節點重啟完成后,數據的平衡可能需要一段時間,需要等到到集群狀態為綠色為止,在進行其他節點的操作;
7.重復步驟2-6完成其他節點的維護操作;
8.如果之前停掉了更新索引的操作,這個時候就可以恢復了。不過要等集群狀態健康后,這樣能使集群快速恢復健康;
轉自:https://blog.csdn.net/likui1314159/article/details/51728567