zoukankan      html  css  js  c++  java
  • ZooKeeper-客户端命令 zkCli

    执行 bin/zkCli 文件进入客户端

    查看帮助

    help
    
    ZooKeeper -server host:port cmd args
            stat path [watch]
            set path data [version]
            ls path [watch]
            delquota [-n|-b] path
            ls2 path [watch]
            setAcl path acl
            setquota -n|-b val path
            history
            redo cmdno
            printwatches on|off
            delete path [version]
            sync path
            listquota path
            rmr path
            get path [watch]
            create [-s] [-e] path data acl
            addauth scheme auth
            quit
            getAcl path
            close
            connect host:port

    查看节点(ZNode)

    # 查看根节点
    ls /
    
    [zookeeper]

    查看节点详细数据

    # 查看根节点详细数据
    ls2 /
    
    [zookeeper]
    cZxid = 0x0
    ctime = Thu Jan 01 08:00:00 CST 1970
    mZxid = 0x0
    mtime = Thu Jan 01 08:00:00 CST 1970
    pZxid = 0x0
    cversion = -1
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 0
    numChildren = 1

    数据中的信息说明

    1)czxid-创建节点的事务zxid
      每次修改ZooKeeper状态都会收到一个zxid形式的时间戳,也就是ZooKeeper事务ID。
      事务ID是ZooKeeper中所有修改总的次序。每个修改都有唯一的zxid,如果zxid1小于zxid2,那么zxid1在zxid2之前发生。
    2)ctime - znode被创建的毫秒数(从1970年开始)
    3)mzxid - znode最后更新的事务zxid
    4)mtime - znode最后修改的毫秒数(从1970年开始)
    5)pZxid-znode最后更新的子节点zxid
    6)cversion - znode子节点变化号,znode子节点修改次数
    7)dataversion - znode数据变化号
    8)aclVersion - znode访问控制列表的变化号
    9)ephemeralOwner- 如果是临时节点,这个是znode拥有者的session id。如果不是临时节点则是0。
    10)dataLength- znode的数据长度
    11)numChildren - znode子节点数量

    查看节点状态,与 ls2 类似

    # 查看根节点状态
    stat /
    
    cZxid = 0x0
    ctime = Thu Jan 01 08:00:00 CST 1970
    mZxid = 0x0
    mtime = Thu Jan 01 08:00:00 CST 1970
    pZxid = 0x200000004
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 0
    numChildren = 2

    创建普通节点(持久)

    # 在根目录下创建 zhongguo 节点,内容为 hubei,必须要有内容,不允许创建空节点
    create /zhongguo hubei
    
    Created /zhongguo
    
    # 在 /zhongguo 下创建 zhongguo 节点,必须存在 /zhongguo 节点
    create /zhongguo/guangdong guangzhou
    
    Created /zhongguo/guangdong
    
    # 查看节点,不能加尾斜杠
    ls /zhongguo
    
    [guangdong]

    创建短暂节点(客户端断开连接后会自动删除)

    # 加上 -e 参数
    create -e /zhongguo/hainan haikou
    
    Created /zhongguo/hainan

    创建带序号节点

    # 加上 -s 参数,从2 开始说明 /zhongguo 下之前已创建过节点,没有的话是从 0 开始
    create -s /zhongguo/shanghai pudong
    
    Created /zhongguo/shanghai0000000002
    
    # 再次创建
    create -s /zhongguo/shanghai pudong
    
    Created /zhongguo/shanghai0000000003

    获取节点内容

    # 获取 /zhongguo/guangdong 节点内容
    get /zhongguo/guangdong
    
    guangzhou
    cZxid = 0x200000005
    ctime = Sun Apr 21 23:28:15 CST 2019
    mZxid = 0x200000005
    mtime = Sun Apr 21 23:28:15 CST 2019
    pZxid = 0x200000005
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 9
    numChildren = 0

    修改节点内容

    # 修改 /zhongguo 内容为 beijing
    set /zhongguo beijing
    
    cZxid = 0x200000004
    ctime = Sun Apr 21 23:24:28 CST 2019
    mZxid = 0x20000000a
    mtime = Sun Apr 21 23:44:04 CST 2019
    pZxid = 0x200000009
    cversion = 4
    dataVersion = 1
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 7
    numChildren = 4

    删除节点

    # 删除空节点,节点下不能有节点
    delete /zhongguo/shanghai0000000003
    
    # 递归删除节点
    rmr /zhongguo

    监听节点的值的变化

    # 监听 /zhongguo 的值的变化
    get /zhongguo watch
    
    beijing
    cZxid = 0x200000004
    ctime = Sun Apr 21 23:24:28 CST 2019
    mZxid = 0x20000000a
    mtime = Sun Apr 21 23:44:04 CST 2019
    pZxid = 0x20000000b
    cversion = 5
    dataVersion = 1
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 7
    numChildren = 3
    
    # 设置监听后,用其他客户端修改该节点的值,就会看到信息,只能监听一次
    WATCHER::
    
    WatchedEvent state:SyncConnected type:NodeDataChanged path:/zhongguo

    监听节点下的子节点变化(路径变化)

    # 监听 /zhongguo 下节点的变化
    ls /zhongguo watch
    
    [shanghai0000000002, hainan, guangdong]
    
    # 用其他客户端在 /zhongguo 下增加节点,就会看到消息,只能监听一次
    WATCHER::
    
    WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/zhongguo

    https://zookeeper.apache.org/doc/current/zookeeperProgrammers.html#sc_zkStatStructure

  • 相关阅读:
    js中的this
    js中的call和apply
    自定义ListView无法响应点击事件
    Listview滑动超出显示区域时getChildAt(arg2)异常错误
    cocos2d-x在eclipse上搭建开发环境
    阿里云服务器CentOS 5.7(64位)安装配置LAMP服务器(Apache+PHP5+MySQL)
    如何在eclipse模拟器上运行下载好的apk程序
    百度RSS整理
    vtigercrm学习(二)
    Android桌面悬浮窗效果实现,仿360手机卫士悬浮窗效果
  • 原文地址:https://www.cnblogs.com/jhxxb/p/10747894.html
Copyright © 2011-2022 走看看