脚本操作zk

时间:2023-03-09 16:20:26
脚本操作zk

使用[root@localhost bin]# ./zkCli.sh连接本地zk

创建

create [-s] [-e] path data acl

其中,-s是创建顺序或临时结点。默认情况下,不添加代表的是创建持久节点。

例如:

create /zk-book 123

读取

  • ls

    用法:
ls path [watch]
其中,path表示的是指定数据节点的节点路径。
改名了只能看到指定节点下第一级的所有子节点。

例如:

[zk: localhost:2181(CONNECTED) 1] ls /
[zk-book, zookeeper]

其中,“/”节点下有个叫做/zookeeper的保留节点。

- get

使用get命令,可以获取zookeeper指定节点的数据内容和属性信息。

用法:

get  path [watch]

例如:

[zk: localhost:2181(CONNECTED) 2] get /zk-book
123
cZxid = 0x2
ctime = Tue Jul 25 05:15:03 PDT 2017
mZxid = 0x2
mtime = Tue Jul 25 05:15:03 PDT 2017
pZxid = 0x2
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0

更新

使用set,可以更新指定节点的数据内容:

set path data[version]

data后面还可以指定version参数,在ZK中,节点的数据是有版本概念的,这个参数用于指定本次更新操作是基于ZNode的哪一个版本进行的。

zk: localhost:2181(CONNECTED) 0] set /zk-book 222
cZxid = 0x2
ctime = Tue Jul 25 05:15:03 PDT 2017
mZxid = 0x4
mtime = Tue Jul 25 05:23:34 PDT 2017
pZxid = 0x2
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0

删除

使用delete命令,可以删除zk的指定节点:

delete path [version]

例如:

[zk: localhost:2181(CONNECTED) 1] delete /zk-book

需要注意的是,如果想要删除某一个指定的节点,则该节点必须没有子节点存在。