ZooKeeper系列3:ZooKeeper命令、命令行工具及簡單操做

問題導讀
1.ZooKeeper包含哪些經常使用命令?
2.經過什麼命令能夠列出服務器 watch 的詳細信息?
3.ZooKeeper包含哪些操做?
4.ZooKeeper如何建立zookeeper?



經常使用命令


php

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
相關文章
相關標籤/搜索