zoukankan      html  css  js  c++  java
  • zookeeper集群线上机器置换

      事情的初衷是这样的:线上有一个小的zk集群,三台机器。其中有一台机器过了保期,需要置换。所以需要用一台新的机器来替换掉其中的一个zk节点,但是为了不影响

    线上的服务,所以不能停zk集群。

      这里不将具体的hostname和ip写出来,姑且将原来的三台机器定义为 a、b和c, 现在b过保,用新机器d来替换掉b,zk集群由abc变成acd,下面将整个过程记录如下:

      先说明一下原来的zk的配置是怎样的(只贴出需要改动的地方):

      server.1=a:2182:2183
      server.2=b:2182:2183   ###这个过保啦,需要替换成d服务器
      server.3=c:2182:2183

      1. 先停止b机器上面的zk服务:zkServer.sh stop, 因为现在zk的集群还有过半节点是正常的,所以zk可以正常对外提供服务;

      2. 从b机器上上拷贝zk的安装包到d机器的 /opt/zk 目录下(我这里是直接将b服务器上的zk环境拷贝到了d机器对应的文件夹下面), 然后修改d服务器上面上面zk的配置文

        件zoo.cfg, 将:

        server.1=a:2182:2183

        server.2=b:2182:2183

        server.3=c:2182:2183

        修改为:

        server.1=a:2182:2183

        server.3=c:2182:2183

        server.4=d:2182:2183

       保存退出;

      3. 在d上创建zk的数据保存目录, /data1/zookeeper/data/ 和 /data2/zookeeper/log/, 在/data1/zookeeper/data/ 中创建一个myid文件,里面内容是server.4中的4: echo "4" > myid,

          然后启动zk服务: zkServer.sh start

      4.  等待生成了1到2次快照之后继续进行下面的操作(查看快照的方式: 去 /data1/zookeeper/data/ 目录下查看生成的快照的日期即可.  具体存放数据的目录可能不相同, 要根据具体的

          配置文件来,这些配置在这里不做说明)

      5. 查看ac两台zk中,哪一台是follower,这个步骤会操作是follower的那台机器,这里假设a是follower,对a进行如下操作:修改zk的zoo.conf, 将原来的

        server.1=a:2182:2183

        server.2=b:2182:2183

        server.3=c:2182:2183

        修改为:

        server.1=a:2182:2183

        server.3=c:2182:2183

        server.4=d:2182:2183

      保存退出,然后重启a上面的zk服务;

      6. 现在开始操作c,步骤同上面的步骤5. 操作完成之后,可以观察到d上的zk会变成leader.(myid最大的会成为leader)

      7. 检查每台机器上zk的status是否正常: zkServer.sh status

      步骤完毕。按理说严格按照上面的步骤来操作是不会影响zk对外提供服务的。而且我们也这样正常的置换掉了机器~~~~~。

      下面是几点注意事项:

      1. 操作是要使用对应的账号,不要稀里糊涂搞错了账号

        2. 要注意目录的权限

        3. leader放在最后操作

  • 相关阅读:
    winform中文本框添加拖拽功能
    jQuery返回顶部代码
    判断IP地址是否在指定范围内的方法
    jQuery提示通知插件jBox
    Windows 8.1 SecureBoot未正确配置的解决方法
    操作系统下载
    js中(function(){…})()立即执行函数写法理解
    。net MVC 序列化 反序列化
    js点击button按钮跳转到页面代码
    单例模式
  • 原文地址:https://www.cnblogs.com/wuxilc/p/9225085.html
Copyright © 2011-2022 走看看