ZooKeeper中节点的操作下令(查看、创建、删除节点)

打印 上一主题 下一主题

主题 919|帖子 919|积分 2757

天行健,君子以发奋图强;地势坤,君子以厚德载物。

每个人都有惰性,但不断学习是好好生活的根本,共勉!

文章均为学习整理笔记,分享记载为主,如有错误请指正,共同学习进步。

  

ZooKeeper相关文章参考:
ZooKeeper下载、安装、设置和利用
ZooKeeper设置文件zoo.cfg参数详解
启动server服务以及cli客户端
在cli客户端窗口中操作以下下令
1. help资助下令

输入help可呼出所有相关下令
可根据需要找到指定的下令,然后输入找到的下令,就可继续往下查看对应下令的利用

如ls下令来说,继续输入ls则会看到ls下令的详细用法

2. ls查看节点信息

语法:
  1. ls [-s] [-w] [-R] path
复制代码
-s表现查看详细信息,可省略
-w表现只看节点名称,可省略
-R表现查看根路径的所有节点及子节点,可省略
path表现节点路径,可以是根节点/,也可以是子节点路径如/a,或者/a/b/c
2.1 查看根节点信息

  1. ls /
复制代码

2.2 查看根节点的详细信息

  1. ls -s /
复制代码

参数详细描述如下:
[zookeeper]
表现子节点名称数组如果多个则在中括号中以逗号隔开
接下来是节点的状态信息,也称为stat布局体
cZxid = 0x0
表现创建znode的事务的zxid(ZooKeeper Transaction ID)
事务ID是ZooKeeper每次更新操作/事务操作分配一个全局唯一的id,表现zxid,值越小表现越先执行
0x0表现十六进制数0
ctime = Thu Jan 01 08:00:00 CST 1970
表现创建时间
mZxid = 0x0
表现最后一次更新的zxid
mtime = Thu Jan 01 08:00:00 CST 1970
表现最后一次更新的时间
pZxid = 0x0
表现最后更新的子节点的zxid
cversion = -1
表现子节点的变革号,即子节点被修改的次数,-1表现未被修改过
dataVersion = 0
表现当前节点的变革号,0表现未被修改过
aclVersion = 0
表现访问控制列表的变革号,access control list
ephemeralOwner = 0x0
表现如果临时节点,表现当前节点的拥有者的sessionId
dataLength = 0
表现数据长度
numChildren = 1
表现子节点的数量
2.3 查看根节点的名称

  1. ls -w /
复制代码

2.4 查看根节点的所有节点及子节点

  1. ls -R /
复制代码

3. get获取节点信息

语法:
  1. get [-s] [-w] path
复制代码
如获取根节点信息
  1. get -s /
复制代码

4. create创建节点

语法:
  1. create 节点名称 节点内容
复制代码
创建节点,如果节点内容含有空格则需要将其用双引号括起来
如创建名为a1的节点,内容为a
  1. create /a1 a
复制代码
然后获取子节点a1的信息,看到数据长度dataLength为a的长度1

创建子节点a2内容为aa bb cc,加双引号"",不加会报错
  1. create /a2 "aa bb cc"
复制代码
利用get下令查看数据长度dataLength为8即aa bb cc的长度,包罗了空格在内

5. create -e创建临时节点

语法:
  1. create -e 节点名称 节点内容
复制代码
创建临时节点,当毗连断开后,临时节点会被主动删除
如下创建临时节点a3内容为aaa
  1. create -e /a3 aaa
复制代码
然后查看所有节点列表
  1. ls -s /
复制代码

此时子节点a3已经创建好
关闭服务重启客户端,在zkCli的窗口按快捷键Ctrl+C关闭服务,zkCli.cmd回车启动

再次查看根节点所有节点数据
  1. ls -s /
复制代码

临时节点a3经没了
6. create -s创建顺序编号节点

语法:
  1. create -s 节点路径 节点内容
复制代码
创建顺序编号节点,即带序号的节点,序号的规则为新建节点的同级节点的数量的排序,从0开始,且包括临时节点和被删除的节点(即被删除后的节点也会算作序号)
如创建顺序节点/a4 aaaa
  1. create -s /a4 aaaa
复制代码
此时看到新建节点的名称变为a40000000003
然后查看根节点的所有节点数据
  1. ls -s /
复制代码

zookeeper节点不算在其中
由于同级的节点数为a1、a2、a3(临时节点,重启后已经没了)共三个节点
依次排序为0-1-2
故a4的序号为a4加上分配的序号0000000003
顺序编号节点的特点如下:


  • 顺序编号节点会紧跟在节点名称后面,节点最终名称为节点名+序号,如/a40000000003
  • 顺序编号是一个递增的计数器
  • 顺序编号是由父节点维护,从已有的子节点个数开始(包括可临时节点和被删除的节点)
  • 如果子节点为空,则从0000000000开始,依次递增1
  • 在分布式系统中,顺序编号可用于为所有事件举行全局排序,客户端可根据序号推断事件的顺序
7. delete删除节点(空节点)

语法:
  1. delete 节点路径
复制代码
注:delete删除节点只针对于空节点,非空节点(其中含有子节点)delete删除不掉
先创建一些节点及子节点
  1. create /a1/b1 b
复制代码

查看根节点下的所有节点

如图可看到节点a1,a2,a40000000003,a5,a6,zookeeper
其中a1和a2节点中含有子节点
我们先删除含有子节点的a1节点
  1. delete /a1
复制代码
报错,节点不是空的,即非空节点用delete删不掉

现在删不含子节点(也就是空节点)的节点a5
  1. delete /a5
复制代码
没报错,表现删除成功,然后查看所有节点看a5还在不在,已经不在了

8. deleteall删除节点(非空节点)

语法:
  1. deleteall 节点路径
复制代码
先查看非空节点a1中的子节点,确定它是含有子节点的非空节点
  1. ls -s /
  2. a1
复制代码

如图看到a1中含有b1,b2,b3三个子节点,阐明它是一个非空节点
利用deleteall删除a1
  1. deleteall /a1
复制代码

然后查看根节点下的所有节点,发现a1节点已经没了
9. stat查看节点状态

查看节点状态,这个跟ls和get的下令感觉一样
  1. stat 节点路径
复制代码

  1. stat /
复制代码


感谢阅读,祝君暴富!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

老婆出轨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表