• zookeeper集群扩容/下线节点实践


    环境:
    zookeeper版本 3.4.6
    jdk版本 1.7.0_80
    10.111.1.29 zk1
    10.111.1.44 zk2
    10.111.1.45 zk3
    10.111.1.46 zk4
    10.111.1.47 zk5

    一、zookeeper集群扩容(3 -> 5)
    3节点的配置并检查状态

    配置:
    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/data/app/zookeeper
    clientPort=2181
    server.1=10.111.1.29:2888:3888
    server.2=10.111.1.44:2888:3888
    server.3=10.111.1.45:2888:3888

    zk1状态:
    #echo srvr | nc 10.111.32.51 2181

    Zookeeper version: 3.4.6-1569965, built on 02/20/2014 09:09 GMT
    Clients:
     /127.0.0.1:36078[0](queued=0,recved=1,sent=0)
    Latency min/avg/max: 0/0/0
    Received: 1
    Sent: 0
    Connections: 1
    Outstanding: 0
    Zxid: 0x0
    Mode: follower
    Node count: 4

    zk2状态:
    #echo srvr | nc 10.111.32.52 2181
    Zookeeper version: 3.4.6-1569965, built on 02/20/2014 09:09 GMT
    Clients:
     /127.0.0.1:46938[0](queued=0,recved=1,sent=0)
    Latency min/avg/max: 0/0/0
    Received: 1
    Sent: 0
    Connections: 1
    Outstanding: 0
    Zxid: 0x100000000
    Mode: leader
    Node count: 4

    zk3状态:
    #echo srvr | nc 10.111.32.53 2181
    Zookeeper version: 3.4.6-1569965, built on 02/20/2014 09:09 GMT
    Clients:
     /127.0.0.1:37306[0](queued=0,recved=1,sent=0)
    Latency min/avg/max: 0/0/0
    Received: 1
    Sent: 0
    Connections: 1
    Outstanding: 0
    Zxid: 0x100000000
    Mode: follower
    Node count: 4

    创建znode查看集群是否同步

    2.加入新的zookeeper 4,5节点
    配置如下:
    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/data/app/zookeeper
    clientPort=2181
    server.1=10.111.1.29:2888:3888
    server.2=10.111.1.44:2888:3888
    server.3=10.111.1.45:2888:3888
    server.4=10.111.1.46:2888:3888
    server.5=10.111.1.47:2888:3888

    修改/data/app/zookeeper目录的myid文件中的编号(重要)

    启动4,5节点,测试写入读取数据

    zk4:
    [zk: localhost:2181(CONNECTED) 0] get /test/test1
    "test1"
    cZxid = 0x10000000a
    ctime = Sun Jun 05 08:51:09 CST 2016
    mZxid = 0x10000000a
    mtime = Sun Jun 05 08:51:09 CST 2016
    pZxid = 0x10000000a
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 7

    numChildren = 0

    [zk: localhost:2181(CONNECTED) 1] create /test/test2 'test2'
    Created /test/test2

    zk1:
    [zk: localhost:2181(CONNECTED) 0] get /test/test2

    'test2'

    cZxid = 0x100000015
    ctime = Sun Jun 05 08:58:24 CST 2016
    mZxid = 0x100000015
    mtime = Sun Jun 05 08:58:24 CST 2016
    pZxid = 0x100000015
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 7
    numChildren = 0

    修改zk1,2,3配置,一个一个节点依次重启,添加节点完成。

    二、zookeeper集群收缩(5->3)
    修改保留节点的配置后一个一个依次重启,重启完成后依次关闭2个不需要的节点即可。

    参考:
    http://www.tuicool.com/articles/BZ7rim
    https://my.oschina.net/u/1791060/blog/687268

  • 相关阅读:
    30张图解: TCP 重传、滑动窗口、流量控制、拥塞控制
    ffmpeg rtp时间戳
    35 张图解:被问千百遍的 TCP 三次握手和四次挥手面试题
    Pinpoint 分布式系统性能监控工具
    图解正向代理、反向代理、透明代理
    实战!我用 Wireshark 让你“看见“ TCP
    IE7的增强插件:IE7Pro
    Net Core 中的HTTP协议详解
    Autofac是一个轻量级的依赖注入的框架
    关于表数据的复制插入TSQL
  • 原文地址:https://www.cnblogs.com/zhengchunyuan/p/9638951.html
Copyright © 2020-2023  润新知