概述(elasticsearch-6.1.1)
当修改配置时可能需要重启集群才生效,或者集群发生严重错误无法恢复时都可能需要重启集群一个集群节点重启前要先临时禁用自动分配,设置cluster.routing.allocation.enable为none,否则节点停止后,当前节点的分片会自动分配到其他节点上,本节点启动后需要等其他节点RECOVERING后才会RELOCATING,也就是分片在其他节点恢复后又转移回来,浪费大量时间。
流程
1.首先禁用自动分配(先暂停集群的shard自动均衡)
curl -XPUT http://127.0.0.1:9200/_cluster/settings -d '{
"transient" : {
"cluster.routing.allocation.enable" : "none"
}
}'
2.然后关闭集群
curl -XPOST http://127.0.0.1:9200/_cluster/nodes/_local/_shutdown
在这里,我遇到了问题,elasticsearch-head里请求并没有成功关闭掉这个集群,原因尚未明确,有知道的可以评论区告诉我
我采用了一种笨方法,逐个杀死进程,重启服务
3.重启节点
nohup bin/elasticsearch &>>es.log &
或者
bin/elasticsearch -d
4.开启shard 自动均衡功能
curl -XPUT http://127.0.0.1:9200/_cluster/settings -d '{
"transient" : {
"cluster.routing.allocation.enable" : "all"
}
}'
网友评论