ZooKeeper 常用命令
跳到导航
跳到搜索
启动命令行客户端连接 ZooKeeper 实例
未指定 host:port 默认连接本地 ZooKeeper 服务
root@ca09cd8f59b4:/opt/zookeeper/bin# ./zkCli.sh
Connecting to localhost:2181
......
[zk: localhost:2181(CONNECTED) 0]
指定 host:port 连接指定 ZooKeeper 服务
root@ca09cd8f59b4:/opt/zookeeper/bin# ./zkCli.sh 192.168.137.201:2121
Connecting to 192.168.137.201:2181
......
[zk: 192.168.137.201:2181(CONNECTED) 0]
查询
查询当前节点下的全部子节点
ls 节点名称
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 1]
查询当前节点下的数据
[zk: localhost:2181(CONNECTED) 4] get /zookeeper
cZxid = 0x0
ctime = Thu Jan 01 00:00:00 UTC 1970
mZxid = 0x0
mtime = Thu Jan 01 00:00:00 UTC 1970
pZxid = 0x0
cversion = -1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 1
[zk: localhost:2181(CONNECTED) 5]
查询结果第一行是数据
ctime (create time)是创建时间
mtime(modify time)是修改时间
创建节点
create [-s] [-e] Znode名称 Znode数据
-s:sequence,有序节点
-e:ephemeral,临时节点
创建普通节点
[zk: localhost:2181(CONNECTED) 5] create /qf xxx
Created /qf
[zk: localhost:2181(CONNECTED) 6] ls /
[qf, zookeeper]
[zk: localhost:2181(CONNECTED) 7] get /qf
xxx
cZxid = 0x6
ctime = Tue Aug 16 01:10:18 UTC 2022
mZxid = 0x6
mtime = Tue Aug 16 01:10:18 UTC 2022
pZxid = 0x6
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
[zk: localhost:2181(CONNECTED) 8]
创建有序节点
[zk: localhost:2181(CONNECTED) 8] create -s /qf yyy
Created /qf0000000001
[zk: localhost:2181(CONNECTED) 9] create -s /qf yyy
Created /qf0000000002
[zk: localhost:2181(CONNECTED) 10]
创建临时节点
[zk: localhost:2181(CONNECTED) 1] create -e /temp uuu
Created /temp
[zk: localhost:2181(CONNECTED) 2] ls /
[qf, temp, qf0000000001, qf0000000002, zookeeper]
[zk: localhost:2181(CONNECTED) 3]
只要当前 ZooKeeper 客户端和 ZooKeeper 服务器断开连接,临时节点就会消失,但持久节点不会
创建临时有序节点
[zk: localhost:2181(CONNECTED) 3] create -s -e /temp uuu
Created /temp0000000005
[zk: localhost:2181(CONNECTED) 4] create -s -e /temp uuu
Created /temp0000000006
[zk: localhost:2181(CONNECTED) 5] create -s -e /temp uuu
Created /temp0000000007
[zk: localhost:2181(CONNECTED) 6] create -s -e /temp uuu
Created /temp0000000008
[zk: localhost:2181(CONNECTED) 7] ls /
[temp0000000006, temp0000000007, temp0000000005, qf0000000001, qf0000000002, temp0000000008, zookeeper, qf, temp]
[zk: localhost:2181(CONNECTED) 8]
退出确认之前创建的临时节点已经消失
[zk: localhost:2181(CONNECTED) 9] quit
Quitting...
2022-08-16 01:27:33,264 [myid:] - INFO [main:ZooKeeper@684] - Session: 0x182a3a9cf540003 closed
2022-08-16 01:27:33,264 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@512] - EventThread shut down
root@ca09cd8f59b4:/opt/zookeeper/bin# ./zkCli.sh
Connecting to localhost:2181
......
Welcome to ZooKeeper!
......
[zk: localhost:2181(CONNECTED) 0] ls /
[qf0000000001, qf0000000002, zookeeper, qf]
[zk: localhost:2181(CONNECTED) 1]
修改节点数据
set znode名称 新数据
[zk: localhost:2181(CONNECTED) 1] get /qf
xxx
......
[zk: localhost:2181(CONNECTED) 2] set /qf yyy
......
[zk: localhost:2181(CONNECTED) 3] get /qf
yyy
......
[zk: localhost:2181(CONNECTED) 4] get /qf
yyy
......
[zk: localhost:2181(CONNECTED) 5]
删除节点数据
delete znode名称 # 删除没有子节点的 Znode
旧版本:deleteall znode名称 # 删除指定节点和它全部的子节点
新版本:rmr znode名称 # 删除指定节点和它全部的子节点
[zk: localhost:2181(CONNECTED) 5] create /qf/yyy abc
Created /qf/yyy
[zk: localhost:2181(CONNECTED) 7] ls /qf
[yyy]
[zk: localhost:2181(CONNECTED) 8] delete /qf
Node not empty: /qf
[zk: localhost:2181(CONNECTED) 9] ls /
[qf0000000001, qf0000000002, zookeeper, qf]
[zk: localhost:2181(CONNECTED) 10] delete /qf0000000001
[zk: localhost:2181(CONNECTED) 11] ls /
[qf0000000002, zookeeper, qf]
[zk: localhost:2181(CONNECTED) 12] deleteall /qf
ZooKeeper -server host:port cmd args
connect host:port
get path [watch]
ls path [watch]
set path data [version]
rmr path
delquota [-n|-b] path
quit
printwatches on|off
create [-s] [-e] path data acl
stat path [watch]
close
ls2 path [watch]
history
listquota path
setAcl path acl
getAcl path
sync path
redo cmdno
addauth scheme auth
delete path [version]
setquota -n|-b val path
[zk: localhost:2181(CONNECTED) 13] rmr /qf
[zk: localhost:2181(CONNECTED) 14] ls /
[qf0000000002, zookeeper]
[zk: localhost:2181(CONNECTED) 15]
对包含子节点的节点执行 delete 操作,会提示 "Node not empty"
退出 ZooKeeper
[zk: localhost:2181(CONNECTED) 9] quit
Quitting...
2022-08-16 01:27:33,264 [myid:] - INFO [main:ZooKeeper@684] - Session: 0x182a3a9cf540003 closed
2022-08-16 01:27:33,264 [myid:] - INFO [main-EventThread:ClientCnxn$EventThread@512] - EventThread shut down
root@ca09cd8f59b4:/opt/zookeeper/bin#