zookeeper增,删,改,查操作

举报
ZhjDayDayUp 发表于 2022/01/04 17:08:20 2022/01/04
【摘要】 记录一些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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。