目录
一、zookeeper客户端
通过上一篇文章我们已经学习了如何在windows和linux 中启动zookeeper 服务器,并且如何通过客户端进行连接,不会的童鞋可以先参照上一篇文章进行zookeeper服务启动并连接。
https://blog.csdn.net/qq_33513250/article/details/100551978
客户端连接后我们可以做如下操作:
- 创建znode
- 获取数据
- 检查状态
- 设置数据
- 监视znode的变化
- 创建znode的子节点
- 列出znode的子节点
- 删除znode
二、创建znode
zookeeper实际是数据的管理,zookeeper的数据结构DataTree,就像文件夹目录一样。用给定的路径创建一个znode。znode的节点有三种类型:
持久节点 :默认情况下,所有znode都是持久的;
临时节点(-e):当会话过期或客户端断开连接时,将被自动删除;
顺序节点(-s):保证znode路径将是唯一的。ZooKeeper集合将向znode路径填充10位序列号。
1.创建持久节点
语法: create /path /data
示例: create /znode1 "znode1-test"
2.创建临时节点
语法: create /path /data -e
示例: create /znode2 "znode2-test" -e
3.创建顺序节点
语法: create /path /data -s
示例: create /znode3 "znode3-test" -s
三、获取数据
它将返回此路径关联的数据。
语法: get /path
示例: get /znode1
四、检查状态
它将返回此路径元数据信息,包括版本号,创建时间,修改时间,事务id等。
语法: stat /path
示例: stat /znode1
cZxid Zookeeper为节点分配的Id
ctime 节点创建时间
mZxid 修改后的id
mtime 修改时间
pZxid 子节点id
cversion 子节点的version
dataVersion 当前节点数据的版本号
aclVersion 权限Version
dataLength 数据长度
numChildren 子节点个数
五、设置数据
可以根据版本号设置data数据(乐观锁),如果没有输入版本号,则更新最新版本。如果版本号错误,则更新失败。
语法: set /path /data [version]
示例: set /znode2 "znode2-test-set"
六、获取数据并监视
zookeeper对于znode的操作(修改数据,创建子节点,删除子节点等),可以添加监视器,可以看做事件的回调监听。
语法: get -w /path
示例: get -w /znode30000000002
七、创建znode子节点
创建子节点类似于创建新的znode。唯一的区别是,子znode的路径也将具有父路径
语法: create /parent/path
示例: create /znode1/znode1-child1
八、列出znode子节点
参数 -s 可以一起展示此节点的状态元数据信息
语法: ls [-s] /path
示例: ls /znode1 或 ls -s /znode1
九、删除znode节点
zookeeper删除节点不支持递归删除,如果直接删除父节点会报错,需删除所以子节点后,再删除父节点
语法:delete /path
示例:delete /znode1