Zookeeper学习之路——客户端操作Zookeeper
程序员文章站
2022-06-06 09:21:56
...
客户端脚本操作
首先要操作Zookeeper,我们需要进入到Zookeeper的命令提示符界面,在linux中,需要使用zkCli.sh进入。出现下面的信息,说明进入Zookeeper成功
读取
读取节点信息,使用ls。对于所有初始化完成的Zookeeper,都会存在一个zookeeper的节点
[zk: localhost:2181(CONNECTED) 7] ls /
[zookeeper]
创建
创建一个Zookeeper节点,使用create命令,用法如下:
create [-s] [-e] path data acl
-s表示的是顺序节点,-e表示的是临时节点。默认的情况下什么参数都不加,创建的是持久化节点。acl是用来做权限控制,缺省情况下,节点是不做权限类的限制。临时节点只存在于当前的会话中,如果关闭当前连接,重新连接到Zookeeper中,该节点就不再生效。顺序化节点,在创建的时候会在节点路径后面添加上自动生成的***。
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 1] create -e /tempNode 1234
Created /tempNode
[zk: localhost:2181(CONNECTED) 2] create -s /sequenceNode 4567
Created /sequenceNode0000000002
[zk: localhost:2181(CONNECTED) 3] ls /
[tempNode, zookeeper, sequenceNode0000000002]
[zk: localhost:2181(CONNECTED) 4]
更新
更新节点使用set命令,用法如下:
set path data [version]
version的参数作用:Zookeeper中,节点的数据是有版本的,这个参数用于指定本次更新操作是基于ZNode的哪个版本进行的。
[zk: localhost:2181(CONNECTED) 4] set /tempNode 345
cZxid = 0x6
ctime = Thu Jun 14 22:09:26 CST 2018
mZxid = 0x8
mtime = Thu Jun 14 22:11:42 CST 2018
pZxid = 0x6
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x100012a9d7e0001
dataLength = 3
numChildren = 0
删除
删除使用delete,用法如下:
delete path [version]
这里的version的作用,跟set的version作用是一样的。
[zk: localhost:2181(CONNECTED) 5] ls /
[tempNode, zookeeper, sequenceNode0000000002]
[zk: localhost:2181(CONNECTED) 6] delete /tempNode
[zk: localhost:2181(CONNECTED) 7] ls /
[zookeeper, sequenceNode0000000002]