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


zookeeper提供了很多方便的功能,方便我們查看服務器的狀態,增加,修改,刪除數據(入口是zkServer.sh和zkCli.sh)。

還提供了一系列四字命令,方便我們跟服務器進行各種交互,來確認服務器當前的工作情況(這也是服務器監控告警的基礎)。

本文所講的zkCli.sh和zkServer.sh均位於以下目錄中:

/usr/local/zookeeper-server1

目錄分布情況請參考我的另一篇文章:

zookeeper集群搭建 - http://blog.csdn.net/linux_bug/article/details/48713881

zkServer.sh

提供的主要功能如下:

1、查看服務器狀態

[root@rocket zookeeper-server1]# bin/zkServer.sh status

JMX enabled by default

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}

zkCli.sh

連接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會返回一些有用的信息。

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)

 

其它命令的使用留待讀者自己去研究:)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM