启动客户端
zkCli.sh
显示所有操作命令
help
查看当前znode中所包含的内容
ls /
查看当前节点数据并能看到更新次数等数据
[zk: localhost:2181(CONNECTED) 5] ls2 /
[zookeeper]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x0
cversion = -1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 1
具体参数详解
1)czxid- 引起这个znode创建的zxid,创建节点的事务的zxid
2)ctime - znode被创建的毫秒数(从1970年开始)
3)mzxid - znode最后更新的zxid
4)mtime - znode最后修改的毫秒数(从1970年开始)
5)pZxid-znode最后更新的子节点zxid
6)cversion - znode子节点变化号,znode子节点修改次数
7)dataversion - znode数据变化号
8)aclVersion - znode访问控制列表的变化号
9)ephemeralOwner- 如果是临时节点,这个是znode拥有者的session id。如果不是临时节点则是0。
10)dataLength- znode的数据长度
11)numChildren - znode子节点数量
创建普通节点(节点必须包含数据)
[zk: localhost:2181(CONNECTED) 6] create /app1 "ni"
Created /app1
[zk: localhost:2181(CONNECTED) 9] create /app1/server1 "10086"
Created /app1/server1
获取节点的值
get /节点名称
[zk: localhost:2181(CONNECTED) 11] get /app1
ni
cZxid = 0x200000002
ctime = Sat Nov 17 15:42:30 CST 2018
mZxid = 0x200000002
mtime = Sat Nov 17 15:42:30 CST 2018
pZxid = 0x200000003
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 2
numChildren = 1
[zk: localhost:2181(CONNECTED) 12] get /app1/server1
10086
cZxid = 0x200000003
ctime = Sat Nov 17 15:43:55 CST 2018
mZxid = 0x200000003
mtime = Sat Nov 17 15:43:55 CST 2018
pZxid = 0x200000003
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 0
创建短暂节点
create -e 节点名称 节点的数据
关闭客户端重新进入的时候已经消失
创建带序号的节点
create -s 节点名称 节点的数据
[zk: localhost:2181(CONNECTED) 1] create -s /app1/h1 9090
Created /app1/h10000000001
[zk: localhost:2181(CONNECTED) 2] create -s /app1/h1 9090
Created /app1/h10000000002
[zk: localhost:2181(CONNECTED) 3] create -s /app1/h1 9090
Created /app1/h10000000003
[zk: localhost:2181(CONNECTED) 4] create -s /app1/h1 9090
Created /app1/h10000000004
修改节点数据值
set 节点名称 数据
节点的值变化监听
get 节点名称 数据
[zk: localhost:2181(CONNECTED) 0] get /app1 watch
从另外一个客户端set 改变节点数据信息
节点的子节点变化监听(路径变化)
(1)在104主机上注册监听/app1节点的子节点变化
[zk: localhost:2181(CONNECTED) 1] ls /app1 watch
[aa0000000001, server101]
(2)在103主机/app1节点上创建子节点
[zk: localhost:2181(CONNECTED) 6] create /app1/bb 666
Created /app1/bb
(3)观察104主机收到子节点变化的监听
WATCHER::
WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/app1
删除节点
[zk: localhost:2181(CONNECTED) 4] delete /app1/bb
递归删除节点
[zk: localhost:2181(CONNECTED) 7] rmr /app2
查看节点状态
[zk: localhost:2181(CONNECTED) 2] stat /app1
cZxid = 0x200000002
ctime = Sat Nov 17 15:42:30 CST 2018
mZxid = 0x200000010
mtime = Sat Nov 17 16:09:41 CST 2018
pZxid = 0x20000000c
cversion = 5
dataVersion = 2
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 5