jixuaa 发表于 2015-11-21 15:51:28

zookeeper命令行(zkCli.sh&zkServer.sh)使用及四字命令

zookeeper提供了很多方便的功能,方便我们查看服务器的状态,增加,修改,删除数据(入口是zkServer.sh和zkCli.sh)。
还提供了一系列四字命令,方便我们跟服务器进行各种交互,来确认服务器当前的工作情况(这也是服务器监控告警的基础)。
本文所讲的zkCli.sh和zkServer.sh均位于以下目录中:
/usr/local/zookeeper-server1
目录分布情况请参考我的另一篇文章:
zookeeper集群搭建- http://blog.iyunv.com/linux_bug/article/details/48713881
zkServer.sh
提供的主要功能如下:
1、查看服务器状态
# bin/zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper-server1/bin/../conf/zoo.cfg
Mode: leader
2、启停服务器
# bin/zkServer.sh help
JMX enabled by default
Using config: /usr/local/zookeeper-server1/bin/../conf/zoo.cfg
Usage: bin/zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}
zkCli.sh
连接zookeeper
# bin/zkCli.sh -server localhost:2181
Connecting to localhost:2181
以下省略1W字。。
WatchedEvent state:SyncConnected type:None path:null

键入help查看所有支持的命令
help
ZooKeeper -server host:port cmd args
      stat path
      set path data
      ls path
      delquota [-n|-b] path
      ls2 path
      setAcl path acl
      setquota -n|-b val path
      history
      redo cmdno
      printwatches on|off
      delete path
      sync path
      listquota path
      rmr path
      get path
      create [-s] [-e] path data acl
      addauth scheme auth
      quit
      getAcl path
      close
      connect host:port
常用命令
1)查看当前节点列表
ls /

2)创建节点
create /test "test"
Created /test
ls /

3)查看节点数据
get /test
"test"
cZxid = 0x300000007
ctime = Thu Sep 24 05:54:51 PDT 2015
mZxid = 0x300000007
mtime = Thu Sep 24 05:54:51 PDT 2015
pZxid = 0x300000007
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0
4)设置节点数据
set /test "111111"
cZxid = 0x300000007
ctime = Thu Sep 24 05:54:51 PDT 2015
mZxid = 0x300000008
mtime = Thu Sep 24 05:57:40 PDT 2015
pZxid = 0x300000007
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 8
numChildren = 0
get /test
"111111"
cZxid = 0x300000007
ctime = Thu Sep 24 05:54:51 PDT 2015
mZxid = 0x300000008
mtime = Thu Sep 24 05:57:40 PDT 2015
pZxid = 0x300000007
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 8
numChildren = 0
5)删除节点
delete /test
ls /

zookeeper四字命令的使用
传递四个字母的字符串给zookeeper,zookeeper会返回一些有用的信息。
zookeeper
四字命令
功能描述
conf
输出相关服务配置的详细信息。
cons
列出所有连接到服务器的客户端的完全的连接 /会话的详细信息。包括“接受/ 发送”的包数量、会话 id、操作延迟、最后的操作执行等等信息。
dump
列出未经处理的会话和临时节点。
envi
输出关于服务环境的详细信息(区别于 conf命令)。
reqs
列出未经处理的请求
ruok
测试服务是否处于正确状态。如果确实如此,那么服务返回“imok ”,否则不做任何相应。
stat
输出关于性能和连接的客户端的列表。
wchs
列出服务器 watch的详细信息。
wchc
通过 session列出服务器watch的详细信息,它的输出是一个与watch相关的会话的列表。
wchp
通过路径列出服务器 watch的详细信息。它输出一个与session相关的路径。

查看连接到结点上所有的client信息,被选作leader还是follower
# echo stat|nc 127.0.0.1 2181
Zookeeper version: 3.4.6-1569965, built on 02/20/2014 09:09 GMT
Clients:
/127.0.0.1:52547(queued=0,recved=1,sent=0)
/0:0:0:0:0:0:0:1:53913(queued=0,recved=4,sent=4)

Latency min/avg/max: 0/3/9
Received: 13
Sent: 12
Connections: 2
Outstanding: 0
Zxid: 0x300000005
Mode: leader
Node count: 4

测试是否启动了该Server,若回复imok表示已经启动
# echo ruok|nc 127.0.0.1 2181
Imok

查看连接到服务器的所有客户端的会话信息
# echo cons|nc 127.0.0.1 2181
/127.0.0.1:52552(queued=0,recved=1,sent=0)
/0:0:0:0:0:0:0:1:53913(queued=0,recved=88,sent=88,sid=0x14ffe63e9ce0001,lop=PING,est=1443098949817,to=30000,lcxid=0x2,lzxid=0x30000000a,lresp=1443099814079,llat=0,minlat=0,avglat=0,maxlat=3)

其它命令的使用留待读者自己去研究:)
页: [1]
查看完整版本: zookeeper命令行(zkCli.sh&zkServer.sh)使用及四字命令