常用命令
ZooKeeper 支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 ZooKeeper 提交相应的命令。 ZooKeeper 常用四字命令见下表 1 所示:

表 1 : ZooKeeper 四字命令

ZooKeeper 四字命令

功能描述

conf

输出相关服务配置的详细信息。

cons

列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息。包括“接受 / 发送”的包数量、会话 id 、操作延迟、最后的操作执行等等信息。

dump

列出未经处理的会话和临时节点。

envi

输出关于服务环境的详细信息(区别于 conf 命令)。

reqs

列出未经处理的请求

ruok

测试服务是否处于正确状态。如果确实如此,那么服务返回“imok ”,否则不做任何相应。

stat

客户端的列表。

wchs

列出服务器 watch 的详细信息。

wchc

通过 session 列出服务器 watch 的详细信息,它的输出是一个与watch 相关的会话的列表。

wchp

服务器 watch 的详细信息。它输出一个与 session相关的路径。

 


下图 1 是 ZooKeeper 四字命令的简单用例:



zookeeper 查询文件_客户端



图 1 : ZooKeeper 四字命令用例



 




命令行工具:



当启动 ZooKeeper 服务成功之后,输入下述命令,连接到 ZooKeeper 服务:



zkCli.sh –server 10.77.20.23:2181  
zkCli.cmd -server 10.202.34.31:2181  //window上



信息,并在屏幕输出“ Welcome to ZooKeeper”等信息。



输入 help 之后,屏幕会输出可用的 ZooKeeper 命令,如下图 1 所示:




zookeeper 查询文件_服务器_02


 


图 1 : ZooKeeper 命令


zookeeper 查询文件_客户端_03


ZooKeeper的简单操作


 


1 )使用 ls 命令来查看当前 ZooKeeper 中所包含的内容:


[zk: 10.77.20.23:2181(CONNECTED) 1] ls /
[zookeeper]


2 )创建一个新的 znode ,使用 create /zk myData 。这个命令创建了一个新的 znode 节点“ zk ”以及与它关联的字符串:


 


[zk: 10.202.33.59:2181(CONNECTED) 4] create /zk myData
Created /zk
[zk: 10.202.33.59:2181(CONNECTED) 5]


3 )再次使用 ls 命令来查看现在 zookeeper 中所包含的内容:


[zk: 10.77.20.23:2181(CONNECTED) 3] ls /
[zk, zookeeper]


此时看到, zk 节点已经被创建。




4 )下面我们运行 get 命令来确认第二步中所创建的 znode 是否包含我们所创建的字符串:


[zk: 10.202.33.59:2181(CONNECTED) 6] get /zk
myData
cZxid = 0x1200139343
ctime = Thu Feb 23 18:24:44 CST 2017
mZxid = 0x1200139343
mtime = Thu Feb 23 18:24:44 CST 2017
pZxid = 0x1200139343
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0
[zk: 10.202.33.59:2181(CONNECTED) 7]


 


5 )下面我们通过 set 命令来对 zk 所关联的字符串进行设置:


[zk: 10.202.33.59:2181(CONNECTED) 7] set /zk china20170223
cZxid = 0x1200139343
ctime = Thu Feb 23 18:24:44 CST 2017
mZxid = 0x120013953d
mtime = Thu Feb 23 18:26:36 CST 2017
pZxid = 0x1200139343
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 13
numChildren = 0


用其它客户端查看结构如下:

zookeeper 查询文件_服务器_04


6 )下面我们将刚才创建的 znode 删除:


[zk: 10.202.33.59:2181(CONNECTED) 10] delete /zk
[zk: 10.202.33.59:2181(CONNECTED) 11]


 


7 )最后再次使用 ls 命令查看 ZooKeeper 所包含的内容:


[zk: 10.77.20.23:2181(CONNECTED) 7] ls /
[zookeeper]


经过验证, zk 节点已经被删除。


zookeeper 查询文件_zookeeper_05