安全删除Elasticsearch数据节点

为什么要移除一个节点,有很多种情况

  1. 节点所在物理机要销毁。
  2. 节点实例需要升级、重启

 


es官方本身支持这个操作,官方文档

实施

step1:

修改cluster.routing.allocation.exclude.{attribute}这个参数{attribute}可以使ip,cluster name,host。这个参数可以使分片避开配置里的所有节点。同时exclude节点里的所有分片(所有index都会涉及)会自动分配到其他节点。 

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

step2:

清空内容,防止该节点再次加入集群无法自动平衡分片。

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

 

上一篇:linux – 为什么netconsole不搜索到日志服务器的路由?


下一篇:php – 如何在Laravel中呈现Web和移动视图