zookeeper提供了不少方便的功能,方便咱們查看服務器的狀態,增長,修改,刪除數據(入口是zkServer.sh和zkCli.sh)。html
還提供了一系列四字命令,方便咱們跟服務器進行各類交互,來確認服務器當前的工做狀況(這也是服務器監控告警的基礎)。linux
本文所講的zkCli.sh和zkServer.sh均位於如下目錄中:服務器
/usr/local/zookeeper-server1session
目錄分佈狀況請參考個人另外一篇文章:ide
zookeeper集羣搭建 - http://www.cnblogs.com/linuxbug/p/4840137.html性能
提供的主要功能以下:測試
1、查看服務器狀態ui
[root@rocket zookeeper-server1]# bin/zkServer.sh statusspa
JMX enabled by defaultrest
Using config: /usr/local/zookeeper-server1/bin/../conf/zoo.cfg
Mode: leader
2、啓停服務器
[root@rocket zookeeper-server1]# 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}
鏈接zookeeper
[root@rocket zookeeper-server1]# bin/zkCli.sh -server localhost:2181
Connecting to localhost:2181
如下省略1W字。。
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0]
鍵入help查看全部支持的命令
[zk: localhost:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
stat path [watch]
set path data [version]
ls path [watch]
delquota [-n|-b] path
ls2 path [watch]
setAcl path acl
setquota -n|-b val path
history
redo cmdno
printwatches on|off
delete path [version]
sync path
listquota path
rmr path
get path [watch]
create [-s] [-e] path data acl
addauth scheme auth
quit
getAcl path
close
connect host:port
經常使用命令
1)查看當前節點列表
[zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper]
2)建立節點
[zk: localhost:2181(CONNECTED) 2] create /test "test"
Created /test
[zk: localhost:2181(CONNECTED) 3] ls /
[zookeeper, test]
3)查看節點數據
[zk: localhost:2181(CONNECTED) 4] 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)設置節點數據
[zk: localhost:2181(CONNECTED) 7] 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
[zk: localhost:2181(CONNECTED) 8] 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)刪除節點
[zk: localhost:2181(CONNECTED) 9] delete /test
[zk: localhost:2181(CONNECTED) 10] 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
[root@rocket zookeeper-server1]# 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[0](queued=0,recved=1,sent=0)
/0:0:0:0:0:0:0:1:53913[1](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表示已經啓動
[root@rocket zookeeper-server1]# echo ruok|nc 127.0.0.1 2181
Imok
查看鏈接到服務器的全部客戶端的會話信息
[root@rocket zookeeper-server1]# echo cons|nc 127.0.0.1 2181
/127.0.0.1:52552[0](queued=0,recved=1,sent=0)
/0:0:0:0:0:0:0:1:53913[1](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)
其它命令的使用留待讀者本身去研究:)