Elasticsearch滚动重启

Elasticsearch Liemer_Lius 511℃

参考:https://www.elastic.co/guide/cn/elasticsearch/guide/current/_rolling_restarts.html#_rolling_restarts

正常情况下,Elasticsearch 希望你的数据被完全的复制和均衡的分布。如果你手动关闭了一个节点,集群会立刻发现节点的丢失并开始再平衡。如果节点的维护是短期工作的话,这一点就很烦人了,因为大型分片的再平衡需要花费相当的时间(想想尝试复制 1TB 的数据——即便在高速网络上也是不一般的事情了)。

我们需要的是,告诉 Elasticsearch 推迟再平衡,因为对外部因子影响下的集群状态,我们自己更了解。操作流程如下:

1.  禁止分配

PUT /_cluster/settings
{
    "transient" : {
        "cluster.routing.allocation.enable" : "none"
    }
}

2. 单节点重启

kill PID_OF_ES
nohup ./elasticsearch -d &

3. 恢复分配

确认它加入到集群了,用如下命令重启分片分配:

PUT /_cluster/settings
{
    "transient" : {
        "cluster.routing.allocation.enable" : "all"
    }
}

4. 重复如上步骤

分片再平衡会花一些时间。一直等到集群变成 绿色 状态后再继续,重复1-3的步骤即可

转载请注明:liutianfeng.com » Elasticsearch滚动重启

喜欢 (2)

评论已关闭。