ES安全重启
elasticsearch集群,有时候可能需要修改配置,增删硬件等操作,需要对节点进行升级等操作。但是服务不能停,如果直接kill掉节点,可能导致数据丢失。而且集群会认为该节点挂掉了,就开始转移数据(这个过程相当好资源,经历过两次,直接kill掉某一节点后集群开始relocation,网卡被打满,正常请求很多超时),当重启之后,它又会恢复数据,如果你当前的数据量已经很大了,这是很耗费机器和网络资源的。
本文转载官方提供的安全重启集群节点的方法:
第一步:先暂停集群的shard自动均衡
curl -XPUT http://192.168.1.2:9200/_cluster/settings -d'
{
"transient" : {
"cluster.routing.allocation.enable" : "none"
}
}'
第二步:kill要升级的节点
ps aux |grep elasticsearch |awk '{print $2}' |xargs kill
第三步:恢复集群的shard自动均衡
curl -XPUT http://192.168.1.2/_cluster/settings -d'
{
"transient" : {
"cluster.routing.allocation.enable" : "all"
}
}'
原文http://mooncake.im/article/elasticsearch-node-safe-restart/
网友评论