1.使用客户端连接
[root@localhost bin]# ./zkCli.sh -timeout 5000 -server 192.168.0.107:2181
2.查看子节点列表
[zk: 192.168.0.107:2181(CONNECTED) 1] ls /
[zookeeper, node_1, node_2, node_3]
3查看节点状态
[zk: 192.168.0.107:2181(CONNECTED) 3] stat /node_1
cZxid = 0x11
ctime = Fri Aug 25 08:06:33 PDT 2017
mZxid = 0x11
mtime = Fri Aug 25 08:06:33 PDT 2017
pZxid = 0x11
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
每一次对数据节点的写操作认为是一次事物,每一个事物
系统都会分配一个事物id,来标识这次事物
CZxid 该节点被创建时的事物id 该节点在哪个事物中被创建的
ctime 创建时间
mZxid 最后一次更新时事物id
mtime 修改时间
pZxid 该节点的子节点列表最后一次被修改的事物id
这里指的是子节点列表,那么什么情况会影响到子节点的列表
发生变化呢?
(1).为当前节点添加子节点
(2).从当前节点中删除一个或多个子节点
都会引起子节点列表发生改变
而修改子节点的数据内容是不计算在内的
cversion 子节点版本号
dataversion数据版本号
aclversion ssl权限版本号
ephemeralower 创建临时节点的事物id 持久节点 0
dataLength 当前节点所存放数据的长度
numChildren 当前节点所拥有的子节点的个数
4.获取节点数据内容
[zk: 192.168.0.107:2181(CONNECTED) 4] get /node_1
123
cZxid = 0x11
ctime = Fri Aug 25 08:06:33 PDT 2017
mZxid = 0x11
mtime = Fri Aug 25 08:06:33 PDT 2017
pZxid = 0x11
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
5.列出子节点以及状态
[zk: 192.168.0.107:2181(CONNECTED) 6] ls2 /
[zookeeper, node_1, node_2, node_3]
cZxid = 0x0
ctime = Wed Dec 31 16:00:00 PST 1969
mZxid = 0x0
mtime = Wed Dec 31 16:00:00 PST 1969
pZxid = 0x68
cversion = 24
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 4
6.创建节点
create -s(顺序节点) -e(临时节点)path acl
[zk: 192.168.0.107:2181(CONNECTED) 8] create /node_1/node_1_1 123
Created /node_1/node_1_1
[zk: 192.168.0.107:2181(CONNECTED) 9] ls /node_1
[node_1_1]
[zk: 192.168.0.107:2181(CONNECTED) 10]
[zk: 192.168.0.107:2181(CONNECTED) 10] create -s /node_1/node_1_2 234
Created /node_1/node_1_20000000001
临时节点在客户端会话失效后会移除
利用顺序节点制作分布式主键生成器
7.修改节点
[zk: 192.168.0.107:2181(CONNECTED) 12] set /node_1 234
每次修改节点,节点版本号递增,不管数据是否改变
8删除节点
[zk: 192.168.0.107:2181(CONNECTED) 16] delete /node_1/node_1_20000000001
[zk: 192.168.0.107:2181(CONNECTED) 17] rmr /node_1
delete只能删除叶子节点
rmr 递归删除
9.设置配额
setquota -n(限制子节点的个数) -b(限制节点数据的长度) val path
[zk: 192.168.0.107:2181(CONNECTED) 17] setquota -n 2 /node_1
发现配置超出,不会抛异常,会输出日志警告,日志文件在bin目录下的zookeeper.out
10.查看历史命令
[zk: 192.168.0.107:2181(CONNECTED) 18] history
8 - create /node_1/node_1_1 123
9 - ls /node_1
10 - create -s /node_1/node_1_2 234
11 - get /node_1
12 - set /node_1 234
13 - get /node_1
14 - delete /node_1/node_1_2
15 - ls /node_1
16 - delete /node_1/node_1_20000000001
17 - histtory
18 - history
重新执行
[zk: 192.168.0.107:2181(CONNECTED) 19] redo 9
[node_1_1]