elasticsearch不停止服务,完成升级重启维护操作

参考链接:https://www.elastic.co/guide/en/elasticsearch/guide/current/_rolling_restarts.html

当需要对集群进行顺序安全重启(不暂停业务操作和离线)的时候,把节点依次重启,本文就有可能对你有用。
原因可能有:Elasticsearch升级、操作系统升级或者硬件升级,不管什么原因,我们都需要对集群进行一次重启来完成升级操作;
从本质上讲,Elasticsearch希望你的数据是完整的和均衡的。如果关闭某个节点进行维护,集群将立即检测到该节点的脱离集群,
并开始重新分片数据平衡。这可能是毁灭性的,如果某个节点的维护是短期的,非常大数据的重新平衡可能需要一些时间
(就算是在快速网络条件下,复制1TB的数据,还是很耗费机器和网络资源)。

我们可以设置集群的平衡参数来暂时禁用掉平衡,具体步骤如下:

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.如果之前停掉了更新索引的操作,这个时候就可以恢复了。不过要等集群状态健康后,这样能是集群快速恢复健康;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值