Elasticsearch重启节点官方标准方法
Elasticsearch重启节点(官方标准方法)
原文地址:https://www.elastic.co/guide/cn/elasticsearch/guide/current/_rolling_restarts.html
Elasticsearch 版本升级,或者服务器自身的一些维护操作(比如操作系统升级或者硬件相关)。不管哪种情况,都要有一种特别的方法来完成一次滚动重启。
正常情况下,Elasticsearch 希望你的数据被完全的复制和均衡的分布。如果你手动关闭了一个节点,集群会立刻发现节点的丢失并开始再平衡。如果节点的维护是短期工作的话,这一点就很烦人了,因为大型分片的再平衡需要花费相当的时间(想想尝试复制 1TB 的数据——即便在高速网络上也是不一般的事情了)。
我们需要的是,告诉 Elasticsearch 推迟再平衡,因为对外部因子影响下的集群状态,我们自己更了解。操作流程如下:
1.可能的话,停止索引新的数据。虽然不是每次都能真的做到,但是这一步可以帮助提高恢复速度。
2.禁止分片分配。这一步阻止 Elasticsearch 再平衡缺失的分片,直到你告诉它可以进行了。如果你知道维护窗口会很短,这个主意棒极了。你可以像下面这样禁止分配:
PUT /_cluster/settings
{
"transient":{
"cluster.routing.allocation.enable":"none"
}
}
3.关闭单个节点。
4.执行维护/升级。
5.重启节点,然后确认它加入到集群了。
6.用如下命令重启分片分配:
PUT /_cluster/settings
{
"transient":{
"cluster.routing.allocation.enable":"all"
}
}
分片再平衡会花一些时间。一直等到集群变成 绿色
状态后再继续。
7.重复第 2 到 6 步操作剩余节点。
8.到这步你可以安全的恢复索引了(如果你之前停止了的话),不过等待集群完全均衡后再恢复索引,也会有助于提高处理速度。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 陈大雷的 Blog
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果