美文网首页
(3)Zookeeper学习笔记-客户端命令简介

(3)Zookeeper学习笔记-客户端命令简介

作者: 程序男保姆 | 来源:发表于2020-04-02 16:01 被阅读0次

文章目录

  1. Create - 创建Zookeeper节点
  2. ls / get - 读取节点信息
  3. set - 更新节点信息
  4. delete - 删除节点信息

使用如下命令链接zk客户端

./zkCli.sh -server ip:port

Create - 创建Zookeeper节点

语法如下:

create [-s] [-e] path data acl

-s:代表SEQUENTIAL,即顺序节点特性
-e:代表EPHEMERAL,即临时节点特性,不加-s -e默认创建永久节点
path:为节点路径,如/zkParentNode,/zkParentNode/subNode
acl:用于zk权限控制,一般用不到

测试永久节点创建

create /persistentNode 1

测试顺序节点创建

create -s /senquentialNode 1

测试临时节点创建

create -e /ephemeralNode 1

查看节点数据,节点数据如下

断开连接(quit)后,重新连接客户端,看临时节点是否存在

可以看到,临时节点ephemeralNode已经没了(连接断开后自动删除)

ls / get - 读取节点信息

列出指定节点路径下子节点信息

ls path [watch]

path-节点路径
watch-为该节点添加一个监听器,监听器只会触发一次,如果在该path下创建子节点,会产生NodeChildrenChanged事件,如果在path下删除子节点,会产生NodeChildrenChanged事件,删除该path所在节点,会产生NodeDeleted事件

如上图例子中 ls / 列出了 /目录下所有节点信息,其中zookeeper节点为默认节点信息

测试watch机制
先执行如下命令,给persistentNode下添加个名为myWatcher的监听器

ls /persistentNode myWatcher

读取指定节点数据信息和属性信息

 get path [watch]

箭头处内容为数据内容
属性字段如下:

属性名 说明
cZxid 节点创建时事务id
cTime 节点创建时间
mZxid 节点最后一次更新时事务id
mTime 节点最后一次更新时间
pZxid 节点子节点列表变化的事务id(子节点列表变化,不是子节点内容变化)
cVersion 子节点版本号
dataVersion 数据节点内容版本号,更新后+1
aclVersion ACL版本号
ephemeralOwner 若为临时节点,则为创建节点的会话sessionId,若为永久节点则为0
dataLength 节点数据长度
numChildren 子节点数量

set - 更新节点信息

set path data [version]

version:标识更新是基于节点哪个dataVersion进行更新

本地对持久节点进行更新测试,结果如下

set /persistentNode 2

可以看到mZxid变大了,mTime变成当前时间,同时dataVersion从0变成1

delete - 删除节点信息

删除指定路径节点(节点下必须没有子节点)

delete path [version]

创建一个节点delete,并在delete下新建delete1节点信息
尝试删除delete节点,提示node not empty
先删除子节点,此时delete父节点下午子节点,再删除父节点,删除成功
————————————————
版权声明:本文为CSDN博主「hosaos」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hosaos/java/article/details/88016397

相关文章

网友评论

      本文标题:(3)Zookeeper学习笔记-客户端命令简介

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