zookeeper-zookeeper常用命令

119 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第9天,点击查看活动详情

zookeeper常用命令

  • 新增节点
create [-s] [-e] path data

指定-s 则为创建有序节点 指定-e 则为创建临时节点

例如:

create /a "a"
create -s /a "a"
create -e /a "a"

临时节点和临时有序节点都会在会话过期后被删除

  • 更新节点
set path data

直接指定path进行修改 例如:

set /a "b"

也可以基于版本号进行修改,在set时指定版本号,如果一致则修改,不一致则不修改,机制类似于CAS

set path data version

例如:

set /a "c" 1
  • 删除节点
delete path

删除直接指定路径即可 例如:

delete /a

和更新节点一样,删除也可以指定版本号进行删除

delete path version

例如:

delete /a 1
  • 查看/获取节点
get path

例如:

get /a

返回的数据中会包含节点数据、节点创建时的事务id、创建时间、最后一次更新事务id、最后一次更新时间、数据子节点最后一次被修改时的事务id等数据

  • 查看节点状态
stat path

和get命令不一样的是,stat命令返回的结果中不会包含节点的数据 例如:

stat /a
  • 查看节点列表
ls/ls2 path

ls2是ls的增强命令,ls2不仅可以查看指定路径下的子节点列表,还会查看当前节点的信息,而ls只会列出子节点的列表。 例如:

ls /a
返回:
[b, c, ...]
ls2 /a
返回:
[b, c, ...]
cZxid = **
ctime = **
mZxid = **
mtime = **
pZxid = **
cversion = **
dataVersion = **
aclVersion = **
ephemeralOwner = **
dataLength = **
numChildren = **
  • 注册内容变化监听器
get path [watch]

够在节点内容发生改变的时候,向客户端发出通知(触发一次后失效) 例如:

get /a watch
  • 注册状态变化监听器
stat path [watch]

在节点状态发生改变的时候,向客户端发出通知

  • 注册子节点变化监听器
ls path [watch] 
ls2 path [watch]

够监听指定节点下所有子节点的增加和删除操作