一、znone基础操作
1. 创建znode
直接在命令行输入"Create"指令就可以看到对应的帮助信息
create命令常用选项:
-e
:创建临时znode。当我使用quit退出之后,重新进入znode消失
-s
:创建带有编号的znode
2. 查看znode
使用ls命令查看某个znone下的子znode信息,常用选项
-w
:启用监听器watch功能
-s
:查看stat命令的相关信息且查看给定znode路径的子节点信息
-R
:对查看znode且查看给定znode路径的子节点信息
使用get命令可以查看znode中存储的数据
-s
:查看stat命令的相关信息
-w
:启用监听器watch功能
3. 使用stat命令可以查看znode的元数据信息
cZxid
:数据节点创建时的事物ID
ctime
:数据节点创建时的时间
mZxid
:数据节点最后一次更新时的事物ID
mtime
:数据节点最后一次更新的时间
pZxid
:数据节点的子节点最后一次被修改时的事务ID
cversion
:子节点的更改次数
dataVersion
:数据节点的更改次数,即维护的是一个数据版本号
aclVersion
:节点的ACL的更改次数
ephemeralOwner
:如果节点是临时节点,则表示创建该节点的会话SessionID,如果节点是持久节点,则该属性值为0
dataLength
:数据内容的长度
numChildren
:数据节点当前的子节点的数量
4. 修改znode数据
zookeeper使用set命令修改znode数据,常用命令选项如下:
-s
:修改数据后,返回znode的stat信息
-v
:修改数据后可以指定版本
5. 删除znode数据
zookeeper使用delete
命令删除znode,要求该znode没有子znode节点
zookeeper使用deleteall
命令删除包含子znode节点,生产环境中慎用,有点类似于linux的"rm -rf"指令
二、监听器案例
1.使用"get -w path"注册监听器,监听znode变化
# 设置name数据
set /name dadong
# 设置监控,注意:该监控只触发一次
get -w /name
# 当我们修改znode数据后,在当前终端触发相应的通知
set /name zhangsan
2. 使用"ls -w path"注册监听器,监听znode的子节点数量的变化
# 设置ls监控,注意:也是一次性
ls -w /name
# 修改znode数据,并没有触发监控通知
set /name dadong
# 当我们在监听的znode下创建新节点时,就会触发监听器机制
create /name/zhangsan
三、删除监听器
# get指令添加了一个监视器
get -w /name
# 此处我又使用"removewatches"指令删除了监听器
removewatches /name
# 当我们修改znode发现并没有触发监听器
set /name "dadong"