zookeeper常用shell命令
- 新增
create [-s] [-e] path data #其中-s 为有序节点,-e 临时节点
-
有序节点和无序节点的区别:
有序节点创建成功之后,生成的节点路径格式为:指定节点名称 + 自增序号
有序节点生成的节点路径为:/test0000000005
无序节点创建成功之后,生成的节点路径为指定的节点名称
无序节点生成的节点路径为:/hello -
永久节点和临时节点的区别:
zookeeper默认生成都是永久节点。
永久节点:只要不手动删除该节点,该节点一直有效。
临时节点:临时节点会在会话过期后被删除。
创建永久有序节点,永久无序节点,临时有序节点,临时无序节点:
执行quit
退出客户端重新连接后,发现两个临时节点获取失败,两个永久节点获取成功。
- 更新
set path newValue [-v version]
也可以基于版本号进行更改,此时类似于乐观锁机制,当你传入的数据版本号 (dataVersion) 和当前节点的数据版本号不符合时,zookeeper 会拒绝本次修改:
- 删除
delete path [-v version]
和更新节点数据一样,也可以传入版本号,当你传入的数据版本号 (dataVersion) 和当前节点的数据版本号不符合时,zookeeper 不会执行删除操作。
要想删除某个节点及其所有后代节点,可以使用递归删除,命令格式:deleteall path
。
- 查询
get [-s] path
可选参数-s
不仅可以查询节点值,还可以查看节点属性。
- 查询节点属性
stat path
和
get -s /hadoop
不同的是,stat /hadoop
不会显示值。
- 查看节点列表
ls [-s] path
可选参数-s可以查看指定节点属性。
- 注册监听器
- get监听器
使用get -w path
注册的监听器能够在节点内容发生改变的时候,向客户端发出通知。需要注意的是 zookeeper 的触发器是一次性的 (One-time trigger),即 触发一次后就会立即失效。
- stat监听器
使用stat -w path
注册的监听器能够在节点状态发生改变的时候,向客户端发出通知。
- ls监听器
使用ls -w path
注册的监听器能够监听该节点下 所有子节点的增加和删除操作。
- get监听器