zoukankan      html  css  js  c++  java
  • Elasticsearch6.13 升级6.24 单节点停机升级

    Elasticsearch6.x 升级6.y 是支持滚动升级的,目前我们测试环境只有一个节点只能停机升级了

    准备工作

    禁用分片分配

    curl -X PUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d'
    {
    "persistent": {
    "cluster.routing.allocation.enable": "none"
    }
    }
    '

    执行同步刷新,加速碎片恢复

    curl -X POST "localhost:9200/_flush/synced"

    关闭老版本

    supervisorctl stop elasticsearch

    启动新版本

    下载安装包

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
    tar -zvxf elasticsearch-6.2.4.tar.gz -C /data/app/
    chown -R elasticsearch.elasticsearch elasticsearch-6.2.4

    拷贝配置文件和数据目录

    cp -rf elasticsearch-6.1.3/config/ elasticsearch-6.2.4/
    cp -rf elasticsearch-6.1.3/data/ elasticsearch-6.2.4/

    修改配置文件中数据的目录

    vim elasticsearch-6.2.4/config/elasticsearch.yml
    
    # Path to directory where to store the data (separate multiple locations by comma):
    #
     path.data: /data/app/elasticsearch/data

    启动新版本

    vim /etc/supervisor/conf.d/es-new.conf
    
    [program:elasticsearch-new]
    directory=/data/app/elasticsearch-6.2.4/bin/
    command=su - elasticsearch -c "/data/app/elasticsearch-6.2.4/bin/elasticsearch"
    autostart=true
    startsecs=30
    autorestart=true
    startretries=5
    user=root
    priority=1
    redirect_stderr=true
    stdout_logfile_maxbytes=50MB
    stdout_logfile_backups=10
    stdout_logfile=/var/log/elasticsearch/es-new_supervisor.out
    stopasgroup=false
    killasgroup=false
    supervisorctl reload
    supervisorctl start elasticsearch-new 
    supervisorctl status
    
    elasticsearch                    STOPPED   May 22 12:58 PM
    elasticsearch-head               RUNNING   pid 890, uptime 0:42:25
    elasticsearch-new                RUNNING   pid 889, uptime 0:42:25
    kibana                           RUNNING   pid 887, uptime 0:42:25

    等待集群状态健康状态为yellow就行了

    curl -X GET "localhost:9200/_cat/health"
    
    1526964363 12:46:03 elasticsearchbigdata yellow 1 1 1674 1674 0 0 1674 0 - 50.0%
    
    curl -X GET "localhost:9200/_cat/recovery"
    
    product_brand_100301_shop_330778_current 0 70ms  existing_store done n/a n/a 192.168.101.55 elasticsearch n/a n/a 0 0 100.0% 4  0 0 100.0% 31141    0 0 100.0%
    shop_brand_100479_current                0 44ms  existing_store done n/a n/a 192.168.101.55 elasticsearch n/a n/a 0 0 100.0% 4  0 0 100.0% 5667     0 0 100.0%

    #恢复分配

    curl -X PUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d'
    {
      "persistent": {
        "cluster.routing.allocation.enable": null
      }
    }
    '
  • 相关阅读:
    如何新建一个datatable,并往表里赋值
    c# 、 Asp.net 获取本地IP和MAC地址
    C# asp.net 比较两个时间的差求天数
    获取CheckBox的值
    Gradle的属性设置大全
    Gradle里配置jetty实现静态资源的热部署
    Gradle命令行黑魔法
    2013年上半年我读过的那些书
    SVN中Branch的创建与合并
    只有好的棋手才会走运-《打造Facebook》读后感
  • 原文地址:https://www.cnblogs.com/37yan/p/9071480.html
Copyright © 2011-2022 走看看