美文网首页
ZooKeeper从入门到精通12:ZooKeeper Serv

ZooKeeper从入门到精通12:ZooKeeper Serv

作者: 金字塔下的小蜗牛 | 来源:发表于2020-04-07 13:19 被阅读0次

    ZooKeeper集群内部各个节点(leader和follower)间使用端口2888进行数据同步。

    1.启动ZooKeeper集群

    [root@bigdata131 ~]# zkServer.sh start
    ZooKeeper JMX enabled by default
    Using config: /root/trainings/zookeeper-3.4.10/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    [root@bigdata131 ~]# zkServer.sh status
    ZooKeeper JMX enabled by default
    Using config: /root/trainings/zookeeper-3.4.10/bin/../conf/zoo.cfg
    Mode: follower

    [root@bigdata132 ~]# zkServer.sh start
    ZooKeeper JMX enabled by default
    Using config: /root/trainings/zookeeper-3.4.10/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    [root@bigdata132 ~]# zkServer.sh status
    ZooKeeper JMX enabled by default
    Using config: /root/trainings/zookeeper-3.4.10/bin/../conf/zoo.cfg
    Mode: leader

    [root@bigdata133 ~]# zkServer.sh start
    ZooKeeper JMX enabled by default
    Using config: /root/trainings/zookeeper-3.4.10/bin/../conf/zoo.cfg
    Starting zookeeper ... STARTED
    [root@bigdata133 ~]# zkServer.sh status
    ZooKeeper JMX enabled by default
    Using config: /root/trainings/zookeeper-3.4.10/bin/../conf/zoo.cfg
    Mode: follower

    2.先查看三个节点上的原始数据

    [zk: bigdata131:2181(CONNECTED) 0] ls /
    [node0000000004, node11, zookeeper]
    [zk: bigdata131:2181(CONNECTED) 1] get /node11
    11
    cZxid = 0x400000023
    ctime = Thu Nov 29 08:26:10 CST 2018
    mZxid = 0x400000023
    mtime = Thu Nov 29 08:26:10 CST 2018
    pZxid = 0x400000034
    cversion = 4
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 2
    numChildren = 4

    [zk: bigdata132:2181(CONNECTED) 0] ls /
    [node0000000004, node11, zookeeper]
    [zk: bigdata132:2181(CONNECTED) 1] get /node11
    11
    cZxid = 0x400000023
    ctime = Thu Nov 29 08:26:10 CST 2018
    mZxid = 0x400000023
    mtime = Thu Nov 29 08:26:10 CST 2018
    pZxid = 0x400000034
    cversion = 4
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 2
    numChildren = 4

    [zk: bigdata133:2181(CONNECTED) 0] ls /
    [node0000000004, node11, zookeeper]
    [zk: bigdata133:2181(CONNECTED) 1] get /node11
    11
    cZxid = 0x400000023
    ctime = Thu Nov 29 08:26:10 CST 2018
    mZxid = 0x400000023
    mtime = Thu Nov 29 08:26:10 CST 2018
    pZxid = 0x400000034
    cversion = 4
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 2
    numChildren = 4

    3.在leader上创建/更新/删除节点

    [zk: bigdata131:2181(CONNECTED) 2] create /node22 22
    Created /node22
    [zk: bigdata131:2181(CONNECTED) 3] set /node11 1111
    cZxid = 0x400000023
    ctime = Thu Nov 29 08:26:10 CST 2018
    mZxid = 0x600000009
    mtime = Fri Nov 30 08:17:35 CST 2018
    pZxid = 0x400000034
    cversion = 4
    dataVersion = 1
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 4
    numChildren = 4
    [zk: bigdata131:2181(CONNECTED) 4] delete /node0000000004

    4.在follower上查看同步后的结果

    [zk: bigdata132:2181(CONNECTED) 2] ls /
    [node11, node22, zookeeper]
    [zk: bigdata132:2181(CONNECTED) 3] get /node11
    1111
    cZxid = 0x400000023
    ctime = Thu Nov 29 08:26:10 CST 2018
    mZxid = 0x600000009
    mtime = Fri Nov 30 08:17:35 CST 2018
    pZxid = 0x400000034
    cversion = 4
    dataVersion = 1
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 4
    numChildren = 4
    [zk: bigdata132:2181(CONNECTED) 4] get /node22
    22
    cZxid = 0x600000008
    ctime = Fri Nov 30 08:17:16 CST 2018
    mZxid = 0x600000008
    mtime = Fri Nov 30 08:17:16 CST 2018
    pZxid = 0x600000008
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 2
    numChildren = 0

    [zk: bigdata133:2181(CONNECTED) 2] ls /
    [node11, node22, zookeeper]
    [zk: bigdata133:2181(CONNECTED) 3] get /node11
    1111
    cZxid = 0x400000023
    ctime = Thu Nov 29 08:26:10 CST 2018
    mZxid = 0x600000009
    mtime = Fri Nov 30 08:17:35 CST 2018
    pZxid = 0x400000034
    cversion = 4
    dataVersion = 1
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 4
    numChildren = 4
    [zk: bigdata133:2181(CONNECTED) 4] get /node22
    22
    cZxid = 0x600000008
    ctime = Fri Nov 30 08:17:16 CST 2018
    mZxid = 0x600000008
    mtime = Fri Nov 30 08:17:16 CST 2018
    pZxid = 0x600000008
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 2
    numChildren = 0

    可以看到:leader上所做的修改,立即被同步到了所有follower上。这里即使原来的leader挂了,那么通过选举将某一个follower选为新的leader之后,仍可以正确的对外提供服务。

    相关文章

      网友评论

          本文标题:ZooKeeper从入门到精通12:ZooKeeper Serv

          本文链接:https://www.haomeiwen.com/subject/zimkdhtx.html