ZooKeeper系列3:ZooKeeper命令、命令行工具及简单操作

问题导读
1.ZooKeeper包含哪些常用命令?
2.通过什么命令可以列出服务器 watch 的详细信息?
3.ZooKeeper包含哪些操作?
4.ZooKeeper如何创建zookeeper?



常用命令


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 四字命令的简单用例:

 

<ignore_js_op> 
图 1 : ZooKeeper 四字命令用例

 




命令行工具:

 

当启动 ZooKeeper 服务成功之后,输入下述命令,连接到 ZooKeeper 服务:
  1. zkCli.sh –server 10.77.20.23:2181
复制代码


 

连接成功后,系统会输出 ZooKeeper 的相关环境以及配置信息,并在屏幕输出“ Welcome to ZooKeeper”等信息。
输入 help 之后,屏幕会输出可用的 ZooKeeper 命令,如下图 1 所示:

 

<ignore_js_op> 
 
图 1 : ZooKeeper 命令

 




ZooKeeper的简单操作
 
1 )使用 ls 命令来查看当前 ZooKeeper 中所包含的内容:
  1. [zk: 10.77.20.23:2181(CONNECTED) 1] ls /
  2. [zookeeper]
复制代码
 

 

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




  1. <div style="text-align: left;"><span style="line-height: 1.5;">[zk: 10.77.20.23:2181(CONNECTED) 2] create /zk myData</span></div><div style="text-align: left;"><span style="line-height: 1.5;">Created /zk</span></div>
复制代码





3 )再次使用 ls 命令来查看现在 zookeeper 中所包含的内容:
  1. [zk: 10.77.20.23:2181(CONNECTED) 3] ls /
  2. [zk, zookeeper]
复制代码
此时看到, zk 节点已经被创建。



4 )下面我们运行 get 命令来确认第二步中所创建的 znode 是否包含我们所创建的字符串:
  1. [zk: 10.77.20.23:2181(CONNECTED) 4] get /zk
  2. myData
  3. Zxid = 0x40000000c
  4. time = Tue Jan 18 18:48:39 CST 2011
  5. Zxid = 0x40000000c
  6. mtime = Tue Jan 18 18:48:39 CST 2011
  7. pZxid = 0x40000000c
  8. cversion = 0
  9. dataVersion = 0
  10. aclVersion = 0
  11. ephemeralOwner = 0x0
  12. dataLength = 6
  13. numChildren = 0
复制代码




5 )下面我们通过 set 命令来对 zk 所关联的字符串进行设置:
  1. [zk: 10.77.20.23:2181(CONNECTED) 5] set /zk shenlan211314
  2. cZxid = 0x40000000c
  3. ctime = Tue Jan 18 18:48:39 CST 2011
  4. mZxid = 0x40000000d
  5. mtime = Tue Jan 18 18:52:11 CST 2011
  6. pZxid = 0x40000000c
  7. cversion = 0
  8. dataVersion = 1
  9. aclVersion = 0
  10. ephemeralOwner = 0x0
  11. dataLength = 13
  12. numChildren = 0
复制代码




6 )下面我们将刚才创建的 znode 删除:
  1. [zk: 10.77.20.23:2181(CONNECTED) 6] delete /zk
复制代码


 

7 )最后再次使用 ls 命令查看 ZooKeeper 所包含的内容:
  1. [zk: 10.77.20.23:2181(CONNECTED) 7] ls /
  2. [zookeeper]
复制代码

 

经过验证, zk 节点已经被删除。
文章转自:http://www.aboutyun.com/thread-9310-1-1.html
posted @ 2014-09-29 09:56  李克华  阅读(156114)  评论(3编辑  收藏  举报