轉載自 http://www.javashuo.com/article/p-gqgtqawh-db.htmlhtml
1、zkServer.shnode
一、查看 zkServer.sh 幫助信息
[root@bigdata05 bin]# ./zkServer.sh help
ZooKeeper JMX enabled by default
Using config: /bigdata/zookeeper-3.4.10/bin/../conf/zoo.cfg
Usage: ./zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}服務器
二、 啓動/關閉 zk服務器
[root@bigdata05 bin]# ./zkServer.sh start
[root@bigdata05 bin]# ./zkServer.sh stopsession
三、查看服務器狀態
[root@bigdata05 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /bigdata/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower運維
2、zkCli.shoop
一、查看 zkCli.sh 幫助信息
[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性能
經常使用命令測試
0)鏈接zookeeper
[root@bigdata05 bin]# ./zkCli.sh -server localhost:2181ui
1)查看當前節點列表
[zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper, yarn-leader-election, hadoop-ha]spa
2)建立節點
[zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper, yarn-leader-election, hadoop-ha]
[zk: localhost:2181(CONNECTED) 2] create /test "test"
Created /test
[zk: localhost:2181(CONNECTED) 3] ls /
[zookeeper, test, yarn-leader-election, hadoop-ha]
[zk: localhost:2181(CONNECTED) 4] create /test/test "test"
Created /test/test
[zk: localhost:2181(CONNECTED) 5] ls /
[zookeeper, test, yarn-leader-election, hadoop-ha]
[zk: localhost:2181(CONNECTED) 6] ls /test
[test]
3)查看節點數據
[zk: localhost:2181(CONNECTED) 7] get /test
test
cZxid = 0x400000031
ctime = Mon Oct 16 04:05:02 CST 2017
mZxid = 0x400000031
mtime = Mon Oct 16 04:05:02 CST 2017
pZxid = 0x400000032
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 1
4)設置節點數據
[zk: localhost:2181(CONNECTED) 8] set /test "666666"
cZxid = 0x400000031
ctime = Mon Oct 16 04:05:02 CST 2017
mZxid = 0x400000033
mtime = Mon Oct 16 04:08:44 CST 2017
pZxid = 0x400000032
cversion = 1
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 1
[zk: localhost:2181(CONNECTED) 10] get /test
666666
cZxid = 0x400000031
ctime = Mon Oct 16 04:05:02 CST 2017
mZxid = 0x400000033
mtime = Mon Oct 16 04:08:44 CST 2017
pZxid = 0x400000032
cversion = 1
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 1
5)刪除節點
[zk: localhost:2181(CONNECTED) 11] delete /test
Node not empty: /test
[zk: localhost:2181(CONNECTED) 12] ls /
[zookeeper, test, yarn-leader-election, hadoop-ha]
[zk: localhost:2181(CONNECTED) 13] delete /test/test
[zk: localhost:2181(CONNECTED) 14] ls /test
[]
[zk: localhost:2181(CONNECTED) 15] delete /test
[zk: localhost:2181(CONNECTED) 16] ls /
[zookeeper, yarn-leader-election, hadoop-ha]
3、 ZooKeeper服務器端四字命令
ZooKeeper 支持某些特定的四字命令(The Four Letter Words)與其進行交互。它們大可能是查詢命令,用來獲取 ZooKeeper 服務的當前狀態及相關信息。用戶在客戶端能夠經過 telnet 或 nc 向 ZooKeeper 提交相應的命令。 ZooKeeper 經常使用四字命令主要以下:
ZooKeeper四字命令
|
功能描述
|
---|---|
conf | 3.3.0版本引入的。打印出服務相關配置的詳細信息。 |
cons | 3.3.0版本引入的。列出全部鏈接到這臺服務器的客戶端所有鏈接/會話詳細信息。包括"接受/發送"的包數量、會話id、操做延遲、最後的操做執行等等信息。 |
crst | 3.3.0版本引入的。重置全部鏈接的鏈接和會話統計信息。 |
dump | 列出那些比較重要的會話和臨時節點。這個命令只能在leader節點上有用。 |
envi | 打印出服務環境的詳細信息。 |
reqs | 列出未經處理的請求 |
ruok | 測試服務是否處於正確狀態。若是確實如此,那麼服務返回"imok",不然不作任何相應。 |
stat | 輸出關於性能和鏈接的客戶端的列表。 |
srst | 重置服務器的統計。 |
srvr | 3.3.0版本引入的。列出鏈接服務器的詳細信息 |
wchs | 3.3.0版本引入的。列出服務器watch的詳細信息。 |
wchc | 3.3.0版本引入的。經過session列出服務器watch的詳細信息,它的輸出是一個與watch相關的會話的列表。 |
wchp | 3.3.0版本引入的。經過路徑列出服務器watch的詳細信息。它輸出一個與session相關的路徑。 |
mntr | 3.4.0版本引入的。輸出可用於檢測集羣健康狀態的變量列表 |
conf conf 命令是在 3.3.0 版本中引入的, 它會打印輸出服務器配置的詳細信息。以便運維人員可以很快速的查看 ZooKeeper 服務器當前運行時的一些配置參數。
能夠看到有些配置項咱們沒有在 zoo.cfg 配置文件中配置, 服務器使用了默認配置。
conf 命令會根據當前的運行模式來決定打印輸出的服務器配置信息, 上面的兩個示例是集羣模式下的示例, 若是是單機模式(standalone), 則不會輸出 initLimit、syncLimit、electionAlg 以及 electionPort 等集羣配置信息。
cons cons 命令是 3.3.0 版本中引入的, 它用於輸出全部鏈接到該服務器的客戶端的完整鏈接和會話信息, 包括接收和發送包的數量、會話ID、操做延遲以及最後執行的操做等信息。
能夠看到本機上有一個客戶端鏈接。
crst crst 命令是在 3.3.0 版本中引入的, 用於重置全部客戶端鏈接的鏈接和會話統計信息。
dump dump 命令用於輸出未完成的會話和臨時節點。
leader示例
follower示例
envi envi 命令用於打印輸出服務器運行時的環境變量信息。
ruok ruok 命令用於測試當前服務器是否正在運行。若是服務器正在運行則返回 "imok", 不然沒有任何響應。
須要注意的是, "imok" 響應不必定可以代表服務器已經加入到集羣中, 僅僅說明服務器進程處於活動狀態而且已經綁定到指定的客戶端端口。 能夠使用 "stat" 獲取集羣狀態以及客戶端鏈接信息。
srst srst 命令用於重置服務器統計信息。
srvr srvr 命令是在 3.3.0 版本中引入的, 它用於輸出服務器的完整信息。
stat stat 命令用於輸出服務器以及鏈接到該服務器的客戶端的概要信息。
srvr 命令和 stat 命令的惟一區別是 srvr 不會輸出客戶端的概要信息。
wchs wchs 命令是在 3.3.0 版本中引入的, 用於輸出當前服務器上 Watcher 的概要信息。
wchc wchc 命令是在 3.3.0 版本中引入的, 用於按會話輸出當前服務器上 watches 的詳細信息。它會輸出會話(鏈接)以及相關的 watches (路徑) 列表。
由於暫時沒有 watches, 因此沒有任何輸出。
注意, 取決於 watches 的數量, 這個操做可能會很是耗時 (影響服務器性能), 因此須要謹慎使用。
wchp wchp 命令是在 3.3.0 版本中引入的, 用於按路徑輸出當前服務器上 watches 的詳細信息。它會輸出路徑 (znodes) 以及相關會話列表。
一樣的, 由於暫時沒有 watches, 因此沒有任何輸出。
注意, 取決於 watches 的數量, 這個操做可能會很是耗時 (影響服務器性能), 因此須要謹慎使用。
mntr mntr 命令是在 3.4.0 版本中引入的, 用於輸出可用於監控集羣健康的變量列表。
leader示例
follower示例
示例說明 從上面兩個示例能夠看到, zk_followers, zk_synced_followers 和 zk_pending_syncs 只有在 leader 服務器上運行 mntr 命令時纔會輸出。還須要注意的是, zk_open_file_descriptor_count 和 zk_max_file_descriptor_count 這兩個變量只有在 Unix 平臺上纔可用。