1.多节点类型创建
- 创建持久节点 :create /test1
- 创建持久序号节点 :create -s /test2
- 创建临时节点: create -e /test2
- 创建临时序号节点 :create -e-s /test4
- 创建容器节点: create -c /test5
[zk: 127.0.0.1:2181(CONNECTED) 18] create /test1
Created /test1
[zk: 127.0.0.1:2181(CONNECTED) 19] create -s /test2
Created /test20000000004
[zk: 127.0.0.1:2181(CONNECTED) 20] create -e /test2
Created /test2
[zk: 127.0.0.1:2181(CONNECTED) 22] create /test1/test3
Created /test1/test3
[zk: 127.0.0.1:2181(CONNECTED) 24] create -e -s /test4
Created /test40000000006
[zk: 127.0.0.1:2181(CONNECTED) 25]
2.查询节点
- 普通节点(用 ls )
- 查询节点相关信息
- cZxid:创建节点的事务ID
- mZxid: 修改节点的事务ID
- pZxid:添加和删除子节点的事务ID
- ctime: 节点创建的时间
- mtime:节点最近修改的时间
- dataVersion:节点内数据的版本,每更新一次数据,版本会+1
- aclVersion:此节点的权限版本
- ephemeralOwner:如果当前节点是临时节点,该值是当前节点所有者的session id。 如果节点不是临时节点,则该值为零。
- dataLength:节点内数据的长度
- numChildren:该节点的子节点个数
[zk: 127.0.0.1:2181(CONNECTED) 30] get -s /test1 #查询节点相关信息
null
cZxid = 0x100000008
ctime = Sat Feb 18 20:41:56 CST 2023
mZxid = 0x100000008
mtime = Sat Feb 18 20:41:56 CST 2023
pZxid = 0x10000000c
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 1
[zk: 127.0.0.1:2181(CONNECTED) 27] ls /test1/test3
[]
[zk: 127.0.0.1:2181(CONNECTED) 32] get /test1/test3 #查询数据
null
3.删除节点
- 普通删除:delete /test1
- 乐观锁删除 :delete -v 2 /test1
[zk: 127.0.0.1:2181(CONNECTED) 36] ls /
[test1, test2, test20000000004, test40000000006, zookeeper]
[zk: 127.0.0.1:2181(CONNECTED) 37] delete /test2
[zk: 127.0.0.1:2181(CONNECTED) 38] delete -v 0 /test20000000004
[zk: 127.0.0.1:2181(CONNECTED) 39] ls /
[test1, test40000000006, zookeeper]
4.权限设置
新开一个会话: