Fork me on GitHub

版权声明 本站原创文章 由 萌叔 发表
转载请注明 萌叔 | https://vearne.cc

前言

在维护ES集群的过程中,我们会经常遇到将某个ES实例临时下线,比如机器换硬盘,系统参数调整,调整完毕后,再将ES实例重新上线。ES提供了非常便利的API来支持这一点。

操作过程

es集群示例

比如我们有这样一个ES集群,node-2需要临时下线

step 1

PUT _cluster/settings
{
  "transient" : {
    "cluster.routing.allocation.exclude._name" : "node-2"
  }
}

注意 这个操作是transient集群重启后,这个设置会失效

step 2

step1 配置完成以后,我们就会看到shard在集群中开始迁移,待迁移完成以后,对node-2进行处理

step 3

PUT _cluster/settings
{
  "transient" : {
    "cluster.routing.allocation.exclude._name" : ""
  }
}

只要让_name匹配不到对用的node即可

总结

除了_name 之外, 还可以用_ip_host进行匹配

参考资料

  1. Shard Allocation Filtering

请我喝瓶饮料

微信支付码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据