- 确认Es集群是否打开了分片自动分配。(博主就是因为之前关闭自动分配,导致节点分片一直不移动。。)
PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "all"
}
}
- 使用api 将要删除节点的分片分配到其他节点中
PUT _cluster/settings
{
"transient": {
"cluster.routing.allocation.exclude._ip": "172.16.20.197"
}
}
- 运行api请求之后,可以在监控中发现有大量IO
- 等到所有分片都被分配到其他节点之后,就可以关闭要删除的节点。