最近笔者的es集群有一个节点的机器有硬件问题,准备置换新机器,所以想把这台机器上的所有es数据都迁移到别的节点上面(一台机器5T左右的数据,生产网段不考虑物理迁移)。
下面讲一下迁移的步骤及方法:
首先我的集群的所有index是没有副本的,所以靠副本来做,是不行的,只能通过es官网提供的https://www.elastic.co/guide/en/elasticsearch/reference/5.5/allocation-filtering.html这个方式来做。
- 由于我是单机器跑两个节点,所以我的节点迁移是分开做的(怕产生太多流量)
首先迁移一个节点
PUT _cluster/settings
{
"transient" : {
"cluster.routing.allocation.exclude._name" : " ES5_DATANODE23 "
}
} -
观察集群,直至没有任何分片操作。
迁移第二个节点:
PUT _cluster/settings
{
"transient" : {
"cluster.routing.allocation.exclude._name" : "ES5_DATANODE3,ES5_DATANODE23"
}
}
观察集群,直至没有任何分片操作。
到这