使用help命令,可以看到如下用法
ZooKeeper -server host:port cmd args
stat path [watch] // 查看节点的属性信息
set path data [version] // 更新节点的内容
ls path [watch] // 列出节点第一级的所有子节点
delquota [-n|-b] path
ls2 path [watch] // 列出节点第一级的所有子节点, 并且包括详细信息
setAcl path acl // 设置节点的ACL访问权限
setquota -n|-b val path
history // 查看历史命令
redo cmdno
printwatches on|off
delete path [version] // 删除指定的节点
sync path
listquota path
rmr path // 递归删除节点
get path [watch] // 查看指定节点的内容
create [-s] [-e] path data acl // 创建节点
addauth scheme auth
quit // 退出
getAcl path // 查看指定节点的访问权限
close // 关闭
connect host:port
下面介绍几种比较常用的命令
- 创建
create [-s] [-e] path data acl
-s 表示顺序节点,-e临时节点。默认不带-s和-e参数,表示永久节点。
[zk: 127.0.0.1:2183(CONNECTED) 0] create /testcreate 1111
Created /testcreate
- 读取
ls path [watch]
表示指定节点下的所有子节点。注意:只能查看一个第一级的所有子节点。
[zk: 127.0.0.1:2183(CONNECTED) 1] ls /
[testcreate, zookeeper, test]
get path [watch]
可以查看指定节点的内容和属性信息。
[zk: 127.0.0.1:2183(CONNECTED) 7] get /test
123
cZxid = 0x100000005
ctime = Tue May 04 00:25:28 CST 2021
mZxid = 0x100000005
mtime = Tue May 04 00:25:28 CST 2021
pZxid = 0x10000000b
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
- 更新
set path data [version]
可以更新指定节点的内容,并且会修改版本信息。
[zk: 127.0.0.1:2183(CONNECTED) 8] set /test 456
cZxid = 0x100000005
ctime = Tue May 04 00:25:28 CST 2021
mZxid = 0x10000000c
mtime = Tue May 04 02:24:28 CST 2021
pZxid = 0x10000000b
cversion = 1
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 1
- 删除
delete path [version]
删除指定节点。注意:不能删除有子节点的节点。
如果删除有子节点的节点,有出现下面的报错。
[zk: 127.0.0.1:2183(CONNECTED) 10] delete /test
Node not empty: /test
删除节点
[zk: 127.0.0.1:2183(CONNECTED) 15] delete /test/child
[zk: 127.0.0.1:2183(CONNECTED) 16] get /test/child
Node does not exist: /test/child
因为删除了,所以就查询不到了。
以上就是对zookeeper最基本的增删改查操作了,zookeeper也可以看作是一个内存数据库。
网友评论