集群节点Elasticsearch升级
- 操作流程
1.首先执行Elasticsearch-1.2.2集群的索引数据备份
2.关闭elasticsearch-1.2.2集群的recovery.compress
curl -XPUT "http://localhost:9200/_cluster/settings" -d'
{
"persistent": {
"indices.recovery.compress": false
}
}'
3.关闭shard reallocation
curl -XPUT localhost:9200/_cluster/settings -d '{
"transient" : {
"cluster.routing.allocation.enable" : "none"
}
}'
4.关闭集群中需要升级的节点
curl -XPOST 'http://localhost:9200/_cluster/nodes/_local/_shutdown'
5.确认被关闭节点上的分片正确重新分配到集群中还在运行的节点上
6.在服务器上安装好elasticsearch-1.5.2的实例, 将elasticsearch-1.2.2实例的配置文件覆盖elasticsearch-1.5.2的配置文件; 同时elasticsearch-1.5.2节点的data目录和elasticsearch-1.2.2的data目录做一个symbolic link:
cp /app/IDC/KT-ES/elasticsearch-1.2.2-data/config/* ./config/
cp -r /app/IDC/KT-ES/elasticsearch-1.2.2-master/bin/service* ./bin/service
ln -s /app/IDC/KT-ES/elasticsearch-1.2.2-data/data/ ./data
7.启动新升级的elasticsearch-1.5.2节点,确认其正常加入cluster
8.恢复分片的reallocation
curl -XPUT localhost:9200/_cluster/settings -d '{
"transient" : {
"cluster.routing.allocation.enable" : "all"
}
}'
9.观察所有分片可能在所有的节点上allocated。分片balance会花费一些时间
10.针对所有剩下的节点,重复上述操作步骤。
11.待所有节点操作完成后,执行如下命令:
curl -XPUT localhost:9200/_cluster/settings -d '{
"persistent" : {
"cluster.routing.allocation.disable_allocation" : true
}
}
同时整个集群进行重启;
12.待所有节点操作完成后,打开indices.recovery.compress,同时整个集群进行重启。
本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/7443823.html,如需转载请自行联系原作者