为避免实例停止期间,主副本数据复制问题,采取以下方法,可快速实现数据存放目录变更。经验证,速度较常规方法快至少一倍。
1、停一个节点前,禁用分片
curl -XPUT '10.10.10.111:9200/_cluster/settings?pretty' -H 'Content-Type: application/json' -d'{
"transient": {
"cluster.routing.allocation.enable": "none"
}
}
'
curl -XGET '10.10.10.111:9200/_cluster/settings?pretty'
2、同步到磁盘,有助于分片恢复(可选)
curl -XPOST '10.10.10.111:9200/_flush/synced?pretty'
3、停实例、复制数据
kill 14428
cp -r /home/elasticsearch/data/nodes /data/elasticsearch/data
4、启动实例
./elasticsearch -d
curl -XGET '10.10.10.111:9200/_cat/nodes?v&pretty' --检查是否加入集群
5、刷新分片分配
curl -XPUT '10.10.10.111:9200/_cluster/settings?pretty' -H 'Content-Type: application/json' -d'
{
"transient": {
"cluster.routing.allocation.enable": "all"
}
}
'
6、完成