zkCli.sh介绍:
进入bin目录下执行命令:
sh zkCli.sh
当看到如下输出信息时,表示连接成功上本地的zookeeper服务器了:
WatchedEvent state:SyncConnected type:None path:null [zk: localhost:2181(CONNECTED) 0]
连接指定服务器,可以通过如下方式实现:
sh zkCli.sh -server ip:port
1、创建
使用create命令,可以创建一个zookeeper节点。用法如下:
create [-s] [-e] path data acl
其中,-s或-e分别指定节点特性:顺序或lins临时节点。默认情况xi下不添加cans参数的,创建的是持久ji节点。
执行如下命令:
[zk: localhost:2181(CONNECTED) 0] create /zk-book 123 Created /zk-book
执行完上面的命令,就在zookeeper的根节点下创建了一个叫做/zk-book的节点,并且节点的数据内容是“123”。另外,create命令的最后一个参数sh是acl,它是用来进行权限控制的,缺省的qing情况下,不做任何权限控制。
2、读取
与读取相关的ming命令包括ls命令和get命令
ls
使用ls命令,可以列出zookeeper指定节点下所有子节点。当然,这个命令只能看到指定节点下第一级的所有子节点。用法如下:
ls path [watch]
其中path是指定节点的节点路径。
执行如下命令:
[zk: localhost:2181(CONNECTED) 1] ls /
[zk-book, zookeeper]
默认在跟节点“/”下面有一个叫做/zookeeper的保留节点。
get
使用get命令,可以获取zookeeper指定节点的数据内容和属性信息。yong用法如下:
get path [watch]
执行命令如下:
[zk: localhost:2181(CONNECTED) 2] get /zk-book
123
cZxid = 0x200000002
ctime = Thu Sep 13 08:23:42 PDT 2018
mZxid = 0x200000002
mtime = Thu Sep 13 08:23:42 PDT 2018
pZxid = 0x200000002
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
从上面的输出信息中,可以看到,第一行是节点/zk-book的数据内容,其他几行则是创建该节点的事务ID(cZxid)、最后一次更新该节点的事务ID(mZxid)和最后一次更新ga该节点的时间(mtime)等属性。
3、更新
使用set命令可以更新指定的数据内容。用法如下:
set path data [version]
其中,data就是要更新的新内容。注意,set命令后面haiy还有一个version参数,在zookeeper中,节点的数据是有版本的概念的,zheg这个参数用于指定本次更新操作是基于ZNode的哪一个数据版本进行的。
执行命令如下:
[zk: localhost:2181(CONNECTED) 3] set /zk-book 456
cZxid = 0x200000002
ctime = Thu Sep 13 08:23:42 PDT 2018
mZxid = 0x200000004
mtime = Thu Sep 13 08:38:23 PDT 2018
pZxid = 0x200000002
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
4、删除
使用delete命令,可以删除zookeeper上的指定节点。用法如下:
delete path [version]
执行命令如下:
delete /zk-book
注意:想要删除某一个指定节点,该节点必须没有子节点存在。