且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

集群节点Elasticsearch升级

更新时间:2022-08-13 23:17:24

集群节点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,如需转载请自行联系原作者