最近需要缩减机器,所以导致ES集群中的个别节点需要下线,目前数据量还尚可,所以迁移数据也快,这里记录下本次下线过程。

ElasticSearch下线节点比较稳妥的话可以使用如下方式:

直接在Kinaba中执行如下:

1
2
3
4
5
6
PUT _cluster/settings
{
"transient" : {
"cluster.routing.allocation.exclude._name" : "node-4"
}
}

这里的_name同样可以换成_ip_host,具体可以参考Cluster-level shard allocation and routing settings | Elasticsearch Reference 7.9 | Elastic

执行完成后,等待该节点上分配的分片移动到其他节点即可。注意,一次只能移动一个节点的数据,不能多次执行,如果多次执行也只会保留最后一次执行的状态。

elasticsearch_node_offline

等待分片迁移完成后,将该节点的ES服务关闭即可。

对于配置文件中已经配置的节点,可以在下次重启集群的时候将其剔除。