zookeeper增,删,改,查操作
【摘要】 记录一些zk上常用到的操作
新增节点
create [-s] [-e] path data
其中,-s表示有序节点,-e表示临时节点(不写的话,表示创建持久化节点,退出zk后,也能看到创建的节点)
1、创建普通的持久化节点
create /test 'test'
通过get /test可以看到已经新增成功,并看到内容为test
2、创建有序的持久化节点
create -s /text 'test'
创建成功后,会返回具体的节点名,如下:
[zk: localhost:2181(CONNECTED) 54] create -s /text 'test'
Created /text0000000022
其实,就是带上了自增序号。因此,在查询的时候也要用这个节点名称。
[zk: localhost:2181(CONNECTED) 63] get /text0000000022
test
3、创建临时节点
临时节点在会话过期后会自动删除,再次登录该节点不在了。
create -e /test1 'test1'
删除节点
delete path [dataVersion]
deleteall path # 删除某个节点及其后代
修改节点
set path data [dataVersion]
如果基于版本号进行修改,当传入的dataVersion与当前版本号不一致时,zk会拒绝修改。
当想要修改多行内容的时候,可以采用如下的方式:
zkCli.sh -server ip set /test "1
> 2
> 3
> "
也可以在脚本中写好
zkCli.sh -server ip set /test "1
2
3
"
查看节点
ls path # 返回节点列表
get path # 查看节点的内容
stat path # 查看节点的状态
如下:
[zk: localhost:2181(CONNECTED) 1] stat /test
cZxid = 0x30039c1c7 # 数据节点创建时的事务ID
ctime = Tue Jan 04 16:43:32 CST 2022 # 数据节点创建的时间
mZxid = 0x30039c1c7 # 数据节点最后一次更新时的事务ID
mtime = Tue Jan 04 16:43:32 CST 2022 # 数据节点最后一次更新时的时间
pZxid = 0x30039c1c7 # 数据几点的子节点最后一次被修改时的事务ID
cversion = 0 # 子节点的更改次数
dataVersion = 0 # 节点数据的更改次数,每次更改会自动加1
aclVersion = 0 # 节点的ACL的更改次数
ephemeralOwner = 0x0 # 如果是临时节点,则表示创建该节点的会话sessionID,如果是持久化节点,则为0
dataLength = 4 # 数据内容的长度
numChildren = 0 # 数据节点当前的子节点个数
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)