为什么要移除一个节点,有很多种情况
1.节点所在物理机要销毁。
2.节点实例需要升级、重启
需求说明
想要安全的移除一个es节点,不改变分片的数量,100%不会引起数据丢失,即保证这个节点的所有数据被其他节点接收。然后停止这个节点的实例。
方案
es本身可以很方便的支持这个功能,es文档
修改cluster.routing.allocation.exclude.{attribute}这个参数{attribute}可以使ip,cluster name,host。这个参数可以使分片避开配置里的所有节点。同时exclude节点里的所有分片(所有index都会涉及)会自动分配到其他节点。
网友评论