Zookeeper 客户端之基本操作指令
Posted 在奋斗的大道
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zookeeper 客户端之基本操作指令相关的知识,希望对你有一定的参考价值。
ZooKeeper命令行工具类似于Linux的shell环境,不过功能肯定不及shell啦,但是使用它我们可以简单的对ZooKeeper进行访问,数据创建,数据修改等操作.
命令行工具的一些简单操作如下:
-
zkCli.sh
客户端连接命令 -
ls 与 ls2 命令
-
get 与 stat 命令
-
create 命令
-
set 命令
-
delete 命令
客户端连接
使用zkCli.cmd连接到本地ZooKeeper 服务,连接成功后,系统会输出 ZooKeeper 的相关环境以及配置信息。
查看znode结构
ls命令:显示根目录下文件: ls /
使用 ls 命令来查看当前 ZooKeeper 中所包含的内容
[zk: localhost:2181(CONNECTED) 4] ls /
[zookeeper]
ls2命令:显示根目录下文件:ls2 /
查看当前节点数据并能看到更新次数等数据
[zk: localhost:2181(CONNECTED) 2] ls2 /
[zk-book, zookeeper]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x2
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 2
创建节点,并设置初始内容
语法:
create [-s] [-e] path data acl
-
-e
创建临时节点,当客户端断开连接,session回话结果,心跳时间检测,临时节点消失(注意非实时,而是会在比如10s,20s检测) -
-s
创建顺序节点。
操作:
create /zk "test"
创建一个新的 znode节点“ zk ”以及与它关联的字符串
[zk: localhost:2181(CONNECTED) 5] create /zk "test"
Created /zk
创建顺序节点:
$ create -s /abc
Created /abc0000000001
$ create -s /abc
Created /abc0000000002
$ create -s /abc
Created /abc0000000003
$ ls /abc
[abc0000000001, abc0000000002, abc0000000003]
获取节点内容:
get /zk
确认 znode 是否包含我们所创建的字符串
[zk: localhost:2181(CONNECTED) 7] get /zk
test
cZxid = 0x3
ctime = Fri Jul 20 10:39:45 CST 2018
mZxid = 0x3
mtime = Fri Jul 20 10:39:45 CST 2018
pZxid = 0x3
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 0
修改节点内容:
语法:
set path data [version]
version - 乐观锁
操作:
set /zk "zkbak"
对 zk 所关联的字符串进行设置
[zk: localhost:2181(CONNECTED) 8] set /zk "zkbak"
cZxid = 0x3
ctime = Fri Jul 20 10:39:45 CST 2018
mZxid = 0x4
mtime = Fri Jul 20 10:40:51 CST 2018
pZxid = 0x3
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 0
cZxid - 创建了这个节后,zookeeper为这个节点分配的id
ctime - create time,节点创建的时间
mZxid - 修改后,zookeeper为这个节点分配的id
mtime - 节点修改的时间,当没有修改过,则创建时间和修改时间是一样的
pZxid - 子节点的id
cversion - 子节点的版本号
dataVersion - 当前数据的版本号
aclVersion - 权限版本号
ephemeralOwner - 根据值可区分是否是临时节点
dataLength - 数据的长度
numChildren - 下面有几个子节点
dataVersiond 值也由原来的0变成了1,这是因为刚才的更新操作导致该节点的数据版本也发生了变更。
删除节点
语法:
delete path [version]
操作:
delete /zk
将刚才创建的 znode 删除
[zk: localhost:2181(CONNECTED) 9] delete /zk
注意无法删除一个包含子节点的节点
[zk: localhost:2181(CONNECTED) 10] create /zk-book 123
Created /zk-book
[zk: localhost:2181(CONNECTED) 11] create /zk-book/child 123456
Created /zk-book/child
[zk: localhost:2181(CONNECTED) 12] delete /zk-book
Node not empty: /zk-book
关闭客户端连接
quit
帮助命令
help
以上是关于Zookeeper 客户端之基本操作指令的主要内容,如果未能解决你的问题,请参考以下文章