問題導讀
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 服務:
- zkCli.sh –server 10.77.20.23:2181
複製代碼
鏈接成功後,系統會輸出 ZooKeeper 的相關環境以及配置
信息,並在屏幕輸出「 Welcome to ZooKeeper」等信息。
輸入 help 以後,屏幕會輸出可用的 ZooKeeper 命令,以下圖 1 所示:
<ignore_js_op>
圖 1 : ZooKeeper 命令
ZooKeeper的簡單操做
1 )使用 ls 命令來查看當前 ZooKeeper 中所包含的內容:
- [zk: 10.77.20.23:2181(CONNECTED) 1] ls /
- [zookeeper]
複製代碼
2 )建立一個新的 znode ,使用 create /zk myData 。這個命令建立了一個新的 znode 節點「 zk 」以及與它關聯的字符串:
- <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 中所包含的內容:
- [zk: 10.77.20.23:2181(CONNECTED) 3] ls /
- [zk, zookeeper]
複製代碼
此時看到, zk 節點已經被建立。
4 )下面咱們運行 get 命令來確認第二步中所建立的 znode 是否包含咱們所建立的字符串:
- [zk: 10.77.20.23:2181(CONNECTED) 4] get /zk
- myData
- Zxid = 0x40000000c
- time = Tue Jan 18 18:48:39 CST 2011
- Zxid = 0x40000000c
- mtime = Tue Jan 18 18:48:39 CST 2011
- pZxid = 0x40000000c
- cversion = 0
- dataVersion = 0
- aclVersion = 0
- ephemeralOwner = 0x0
- dataLength = 6
- numChildren = 0
複製代碼
5 )下面咱們經過 set 命令來對 zk 所關聯的字符串進行設置:
- [zk: 10.77.20.23:2181(CONNECTED) 5] set /zk shenlan211314
- cZxid = 0x40000000c
- ctime = Tue Jan 18 18:48:39 CST 2011
- mZxid = 0x40000000d
- mtime = Tue Jan 18 18:52:11 CST 2011
- pZxid = 0x40000000c
- cversion = 0
- dataVersion = 1
- aclVersion = 0
- ephemeralOwner = 0x0
- dataLength = 13
- numChildren = 0
複製代碼
6 )下面咱們將剛纔建立的 znode 刪除:
- [zk: 10.77.20.23:2181(CONNECTED) 6] delete /zk
複製代碼
7 )最後再次使用 ls 命令查看 ZooKeeper 所包含的內容:
- [zk: 10.77.20.23:2181(CONNECTED) 7] ls /
- [zookeeper]
複製代碼
通過驗證, zk 節點已經被刪除。
文章轉自:http://www.aboutyun.com/thread-9310-1-1.html