例如要下线节点: 10.10.10.3
步骤1:将节点从集群路由策略中排除
curl -XPUT http://127.0.0.1:9200/_cluster/settings?pretty -d '{"transient":{"cluster.routing.allocation.exclude._ip":"10.10.10.3"}}'
步骤2:
等待节点上分片全部被迁移确认该机器没有分片之后才是真正迁移走了
检查集群状态,若出现pening_tasks,当pending_tasks的等级>=HIGH时,存在集群无法新建索引的风险
curl http://127.0.0.1:9200/_cluster/health?pretty
curl http://127.0.0.1:9200/_cluster/pending_tasks?pretty
确认该机器没有分片之后才是真正迁移走了,若集群中出现UNASSIGNED shards,检查原因,查看是否是分配策略导致无法迁移分片
curl http://127.0.0.1:9200/_cluster/allocation/explain?pretty
步骤3:下线节点,停进程。
步骤4:取消节点禁用策略
curl -XPUT http://127.0.0.1:9200/_cluster/settings?pretty -d '{"transient":{"cluster.routing.allocation.exclude._ip": null}}'