ZooKeeper完全解析(二) zooKeeper命令详解

11 篇文章 1 订阅
6 篇文章 0 订阅

  上一篇中我们简单的讲解了zooKeeper的作用与安装,链接为 ZooKeeper完全解析(一) zooKeeper的介绍与安装,这次我们详细的讲一下zooKeeper中的命令。

  首先需要启动zooKeeper,并开启命令行工具,想要查看zooKeeper的命令,可以使用help命令来查看zooKeeper支持的命令,我们这次主要讲 create、get、ls、ls2、stat、set、delete命令。

 

一、创建节点:

  create  [-s]  [-e]  path  data   acl
  其中 -s 为 创建顺序节点, -e 为 创建临时节点,path即为路径,注意zooKeeper的根路径为 / , 然后再是下面的路径,比如 /test 这种 ,data 即为节点中的数据, acl为访问权限
  1.永久节点
  默认不加参数即为 永久节点
    create /job ""
  即创建了一个 /job 永久节点

  2.顺序节点
  比如创建 /job 下的一个顺序节点
    create -s /job/job "123"
  则创建了 /job/job0000000001 这个节点

  3.临时节点
  创建 /job 下面的一个临时节点
    create -e /job/job-time "234"
  则创建了 /job/job-time 这个临时节点 ,然后输入 quit  退出后,再连接进去,就没有了/job/job-time这个节点。

  

二、获取节点信息:

  查分成三种,一种是查节点中的内容以及节点信息,一种是查节点的子节点,一种是仅查看节点的信息(比如version)

 

  1、查节点中的内容:
    get path [watch]
  比如要获取 /job 节点中的内容以及节点信息(比如version)(节点中的内容可以用byte数组来存储)
    get /job
  如果想监听 /job 中节点的内容,则可以
    get /job true 
  这样,当 /job 中的节点信息修改的时候,则可以被监听到 (但子节点更新不会,即只会监听节点信息修改)


  2.根据路径查询
    ls path [watch] 与
    ls2 path [watch]
  比如查询 / 根目录下面的节点
    ls / 
  即会输出 [job]

  如果需要对 /job 这个节点下的子节点做监听,则可以
    ls /job true
  那么当子节点修改后,则会收到子节点变动的通知(而节点内容修改则不会)

  获取子节点的时候获取节点的详细信息(version等信息,但不包括节点内容)
    ls2 /job true 


  3.仅仅查看节点的信息
    stat path [watch]
  比如想查看 /job 中的version信息,可以这样
    stat /job 
  如果想做 /job 中的信息被修改的监听,可以这样
    stat /job true

 

 

三、修改节点中的内容:
    set path data [version]
  version 即为节点的版本,节点每被设置一次,version就会自动+1(注意添加子节点version不会 +1),可以通过get、stat或者ls2 来查看,(返回值中的dataVersion)。
  比如设置 /job 中的内容为 ccdd 
    set /job "ccdd"
  那其dataVersion即变成1了(初始为0)

  那么当我想这样,即当dataVersion为1的时候才设置新的值(也就是乐观锁),可以这样:
    set /job "eeff" 1 
  这样如果别人已经修改了,那么我是改不了的。

 

四、删除节点:

  使用

    delete path [version]

  version 即为节点的版本,加上version的好处(其实相当于一个乐观锁)就是当你得到一个节点的时候,想删除这个节点,但是希望是别人没有修改的时候删除,这时候就可以加上得到这个节点的时候的version。

    delete /job 1

  即可以删除

  如果不加入版本的话,那么就直接删除,比如

  delete /job

 

下一篇 ZooKeeper完全解析(三) 使用Java操作ZooKeeper 中,将会给大家讲解如何用Java操作ZooKeeper。

 

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值