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


問題導讀
1.ZooKeeper包含哪些常用命令?
2.通過什么命令可以列出服務器 watch 的詳細信息?
3.ZooKeeper包含哪些操作?
4.ZooKeeper如何創建zookeeper?



常用命令


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


免責聲明!

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



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