3.zookeeper客户端使用

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]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值