Zookeeper 客户端命令行操作

命令行参数:

参数功能描述
help显示所有操作命令
ls path [watch]查看当前 znode 中所包含的内容
ls2 path [watch]查看当前节点数据并能看到更新次数等数据
create普通创建 -s 含有序列 -e 临时(重启或者超时消失)
get path [watch]获得当前节点的值
set设置节点的具体值
stat查看节点状态
delete删除节点
rmr递归删除节点
  1. help

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

  2. ls

    [zk: localhost:2181(CONNECTED) 1] ls /
    [isr_change_notification, hbase, admin, zookeeper, consumers, config, storm, spark, brokers, controller_epoch]
    

  3. ls2

    [zk: localhost:2181(CONNECTED) 2] ls2 /
    [isr_change_notification, hbase, admin, zookeeper, consumers, config, storm, spark, brokers, controller_epoch]
    cZxid = 0x0
    ctime = Thu Jan 01 08:00:00 CST 1970
    mZxid = 0x0
    mtime = Thu Jan 01 08:00:00 CST 1970
    pZxid = 0x5900000004
    cversion = 56
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 0
    numChildren = 10
    

  4. 创建普通节点

    [zk: localhost:2181(CONNECTED) 4] create /test "today"
    Created /test
    [zk: localhost:2181(CONNECTED) 5] create /test/subtest "today"
    Created /test/subtest
    

  5. 获得节点的值

    [zk: localhost:2181(CONNECTED) 6] get /test
    "today"
    cZxid = 0xa600000002
    ctime = Sun Jul 07 18:58:21 CST 2019
    mZxid = 0xa600000002
    mtime = Sun Jul 07 18:58:21 CST 2019
    pZxid = 0xa600000003
    cversion = 1
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 7
    numChildren = 1
    [zk: localhost:2181(CONNECTED) 7] get /test/subtest
    "today"
    cZxid = 0xa600000003
    ctime = Sun Jul 07 18:58:50 CST 2019
    mZxid = 0xa600000003
    mtime = Sun Jul 07 18:58:50 CST 2019
    pZxid = 0xa600000003
    cversion = 0
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 7
    numChildren = 0
    

  6. 创建短暂节点

    退出当前客户端,该临时节点会被删除。

    # 创建短暂节点
    [zk: localhost:2181(CONNECTED) 1] create -e /test/shorttest "short"
    Created /test/shorttest
    # 在当前客户端是能查看到的
    [zk: localhost:2181(CONNECTED) 2] ls /test
    [shorttest, subtest]
    # 闭退出当前客户端
    [zk: localhost:2181(CONNECTED) 3] quit
    Quitting...
    2019-07-07 19:05:03,872 [myid:] - INFO  [main-EventThread:ClientCnxn$EventThread@509] - EventThread shut down
    2019-07-07 19:05:03,874 [myid:] - INFO  [main:ZooKeeper@684] - Session: 0x16bcc12129e0002 closed
    #重启客户端
    [root@hadoop01 zookeeper]# bin/zkCli.sh 
    # 再次查看根目录下短暂节点已经删除
    [zk: localhost:2181(CONNECTED) 0] ls /test
    [subtest]
    

  7. 创建带序号的节点

    如果原来节点下没有节点,序号从0开始依次递增。如果原节点下已有2个节点,则再排序时从2开始,以此类推。

    [zk: localhost:2181(CONNECTED) 2] create /test/order "order"
    Created /test/order
    [zk: localhost:2181(CONNECTED) 3] create -s /test/order/test1 "test1"
    Created /test/order/test10000000000
    [zk: localhost:2181(CONNECTED) 4] create -s /test/order/test2 "test2"
    Created /test/order/test20000000001
    [zk: localhost:2181(CONNECTED) 5] create -s /test/order/test2 "test3"
    Created /test/order/test20000000002
    [zk: localhost:2181(CONNECTED) 6] create -s /test/order/test3 "test3"
    Created /test/order/test30000000003
    # 此处由于上面在 /test 节点下创建过一个临时节点,故从3开始
    [zk: localhost:2181(CONNECTED) 7] create -s /test/order1 "ordertest" 
    Created /test/order10000000003
    [zk: localhost:2181(CONNECTED) 8] ls /test
    [order10000000003, order, subtest]
    

  8. 修改节点数据值

    # 修改前,值为 "order"
    [zk: localhost:2181(CONNECTED) 17] get /test/order            
    "order"
    cZxid = 0xa60000000b
    ctime = Sun Jul 07 19:12:12 CST 2019
    mZxid = 0xa60000000b
    mtime = Sun Jul 07 19:12:12 CST 2019
    pZxid = 0xa60000000f
    cversion = 4
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 7
    numChildren = 4
    # 将值修改为 "123"
    [zk: localhost:2181(CONNECTED) 18] set /test/order "123"
    cZxid = 0xa60000000b
    ctime = Sun Jul 07 19:12:12 CST 2019
    mZxid = 0xa600000016
    mtime = Sun Jul 07 19:21:10 CST 2019
    pZxid = 0xa60000000f
    cversion = 4
    dataVersion = 1
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 5
    numChildren = 4
    # 修改后,值为 "123"
    [zk: localhost:2181(CONNECTED) 19] get /test/order      
    "123"
    cZxid = 0xa60000000b
    ctime = Sun Jul 07 19:12:12 CST 2019
    mZxid = 0xa600000016
    mtime = Sun Jul 07 19:21:10 CST 2019
    pZxid = 0xa60000000f
    cversion = 4
    dataVersion = 1
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 5
    numChildren = 4
    

  9. 监听节点的值变化

    1. 在节点hadoop01上注册监听 /test/order 节点数据变化

      [zk: localhost:2181(CONNECTED) 20] get /test/order watch
      "123"
      cZxid = 0xa60000000b
      ctime = Sun Jul 07 19:12:12 CST 2019
      mZxid = 0xa600000016
      mtime = Sun Jul 07 19:21:10 CST 2019
      pZxid = 0xa60000000f
      cversion = 4
      dataVersion = 1
      aclVersion = 0
      ephemeralOwner = 0x0
      dataLength = 5
      numChildren = 4
      

    2. 在hadoop02主机上修改/test/order节点的数据"

      [zk: localhost:2181(CONNECTED) 1] set /test/order "order-hadoop02"
      cZxid = 0xa60000000b
      ctime = Sun Jul 07 19:12:12 CST 2019
      mZxid = 0xa600000018
      mtime = Sun Jul 07 19:24:57 CST 2019
      pZxid = 0xa60000000f
      cversion = 4
      dataVersion = 2
      aclVersion = 0
      ephemeralOwner = 0x0
      dataLength = 16
      numChildren = 4
      
      

    3. 观察hadoop01主机收到数据变化的监听

      [zk: localhost:2181(CONNECTED) 21] 
      WATCHER::
      
      WatchedEvent state:SyncConnected type:NodeDataChanged path:/test/order
      

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

    1. 在hadoop01主机上注册监听/test节点的子节点变化

      [zk: localhost:2181(CONNECTED) 2] ls /test watch
      [order1, order10000000003, order20000000005, order, subtest]
      

    2. 在hadoop02主机/test节点上创建子节点

      [zk: localhost:2181(CONNECTED) 0] create /test/watchtest "watchtest"
      Created /test/watchtest
      

    3. 观察hadoop01主机收到子节点变化的监听

      [zk: localhost:2181(CONNECTED) 2] 
      WATCHER::
      
      WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/test
      

  11. 删除节点

    # 查看节点
    [zk: localhost:2181(CONNECTED) 2] ls /test          
    [order1, order10000000003, order20000000005, order, watchtest, subtest]
    # 删除/test/order1,但是该节点下面还有节点
    [zk: localhost:2181(CONNECTED) 3] delete /test/order1
    Node not empty: /test/order1
    # 查看 /test 节点,order1 仍然存在
    [zk: localhost:2181(CONNECTED) 4] ls /test           
    [order1, order10000000003, order20000000005, order, watchtest, subtest]
    [zk: localhost:2181(CONNECTED) 5] ls /test/subtest
    []
    # 删除/test/subtest,该节点下面没有其他节点
    [zk: localhost:2181(CONNECTED) 6] delete /test/subtest
    # 删除成功
    [zk: localhost:2181(CONNECTED) 8] ls /test            
    [order1, order10000000003, order20000000005, order, watchtest]
    

  12. 递归删除节点

    # 递归删除 /test/order1 节点
    [zk: localhost:2181(CONNECTED) 9] rmr /test/order1
    # 删除成功
    [zk: localhost:2181(CONNECTED) 10] ls /test
    [order10000000003, order20000000005, order, watchtest]
    
  13. 查看节点状态

    [zk: localhost:2181(CONNECTED) 11] stat /test
    cZxid = 0xa600000002
    ctime = Sun Jul 07 18:58:21 CST 2019
    mZxid = 0xa600000002
    mtime = Sun Jul 07 18:58:21 CST 2019
    pZxid = 0xa600000023
    cversion = 10
    dataVersion = 0
    aclVersion = 0
    ephemeralOwner = 0x0
    dataLength = 7
    numChildren = 4
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值