• Zookeeper升级新版本步骤【转】


    一、需求

    由于安全漏洞扫描,需要对zookeeper进行升级。从3.3.6升级至3.4.9。

    二、升级步骤

    1. 去官方下载zookeeper的包。

       wget https://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
    2. 解压到/usr/local路径下

       tar xf zookeeper-3.4.9.tar.gz -C /usr/local/
    3. 在/usr/local/zookeeper-3.4.9/conf/做配置文件配置,根据老版本的

      配置文件

      配置。特别注意myid与server id一致,dataDir与dataLogDir与老版本保持一致。

       cd /usr/local/zookeeper-3.4.9/conf/
       cp zoo_sample.cfg zoo.cfg
       vim zoo.cfg

      添加如下配置

       tickTime=2000
       initLimit=10
       syncLimit=5
       dataDir=/data/zookeeper/data
       dataLogDir=/data/zookeeper/logs
       clientPort=2191
       server.1=192.168.1.1:2888:3888
       server.2=192.168.1.2:2888:3888
       server.3=192.168.1.3:2888:3888
      注释:

      tickTime:ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime

      initLimit:Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。Leader允许F在

      initLimit 时间内完成这个工作。通常情况下,我们不用太在意这个参数的设置。如果ZK集群的数据量确实很大了,F在启动的时候,从Leader上同步数据的时间也会相应变长,因此在这种情况下,有必要适当调大这个参数了。

      syncLimit:在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。如果L发出心跳包在syncLimit之后,还没有从F那里收到响应,那么就认为这个F已经不在线了。注意:不要把这个参数设置得过大,否则可能会掩盖一些问题。

      dataDir:存储快照文件snapshot的目录。默认情况下,事务日志也会存储在这里

      dataLogDir:事务日志输出目录。

      clientPort:客户端连接server的端口,即对外服务端口

      server.35=192.168.14.35:2888:3888:这里的35是一个数字,与myid文件中的id是一致的。右边可以配置两个端口,第一个端口用于F和L之间的数据同步和其它通信,第二个端口用于Leader选举过程中投票通信。

    4. 复制zookeeper-3.4.9目录到其它节点一份

       scp -r -P2828 /usr/local/zookeeper-3.4.9/ root@192.168.14.36:/usr/local/
      
       scp -r -P2828 /usr/local/zookeeper-3.4.9/ root@192.168.14.37:/usr/local/
    5. 割接版本。

      查看原有数据是否还在

      echo stat | nc localhost 2191查看zookeeper状态,先从follower开始升级,最后升级leader。

      1)停止老版本服务

       /usr/local/zookeeper/bin/zkServer.sh stop

      2)删除老版本软连接

       rm -rf /usr/local/zookeeper

      3)做新版本软连接

       ln -sv /usr/local/zookeeper-3.4.9/ /usr/local/zookeeper

      4)开启新版本服务

       /usr/local/zookeeper/bin/zkServer.sh start

      5)查看状态,观察集群是否建立起来。

       /usr/local/zookeeper/bin/zkServer.sh status
      
       ZooKeeper JMX enabled by default
       Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
       Mode: follower

      6)查看升级后数据是否还在

        数据没变,则说明升级成功!

    三、回滚操作

    如果升级过程中出现问题,尽量解决,如果解决问题需要时间长,就执行回滚操作

    /usr/local/zookeeper/bin/zkServer.sh stop
    
    rm -rf /usr/local/zookeeper
    
    ln -sv /usr/local/zookeeper-3.3.6/ /usr/local/zookeeper
    
    /usr/local/zookeeper/bin/zkServer.sh start

    查看状态,如果正常,就去思考失败的原因。总结失败,找出原因,在计划下次升级。

    四、注意事项

    1. 保持myid与server.id一致

    2. dataDir,dataLogDir与原版本保持一致

    3. 注意不管是用域名还是ip调用,都要保证能够解析

    4. 保证数据可靠,集群能够建立

    转自

    Zookeeper升级新版本步骤 - Linux运维-Friend - 博客园
    https://www.cnblogs.com/linuxmysql/p/16727994.html

  • 相关阅读:
    近来几个有用的网站
    军事视频网站
    美军武器命名
    区块链的五个关键要素
    处理多媒体的两个重要工具
    Python re模块将字符串分割为列表
    Python 自动刷新网页
    selenium:chromedriver与chrome版本的对应关系
    怎么批量删除QQ空间说说?
    ssm获取数据库名称
  • 原文地址:https://www.cnblogs.com/paul8339/p/16779531.html
Copyright © 2020-2023  润新知