zookeeper簡單命令

謎一樣的Coder發表於2018-09-08

前言

在前一篇部落格(初識zookeeper)的基礎上總結zookeeper的簡單命令(命令視窗模式下)。

1、連線zookeeper

進入zookeeper的安裝目錄,進入bin(在任意一臺虛擬機器上都可以)。執行zkCli.sh指令碼就可以,當然也可以指定你需要連線的伺服器地址,sh zkCli.sh -server [伺服器ip]:2181(這個是配置檔案中的客戶端埠號,預設是2181)。

看到如下語句表示連線成功:

2、zookeeper的資料結構和節點型別

資料結構

 其實zookeeper的資料結構比較簡單,類似windows系統中的檔案管理結構。

1、每個目錄就叫znode,同級目錄下節點名稱要保持唯一性(就是同級下不能同名)

2、znode可以有子節點,但是臨時節點不能有子節點。

3、一個znode節點中可以有多個子節點

4、臨時節點在失去會話的時候,會自動刪除。

5、znode會被監控,節點的修改,刪除,都會被監控。

節點型別

節點型別大體上分為兩種,一種是持久化節點,另一種是臨時節點。每一種節點下面又分為順序節點和非順序節點。因此總的就有四種

1、持久化節點,2、持久化順序編號節點,3、臨時節點,4、臨時順序編號節點。

3、客戶端命令

ls --檢視某個目錄的所有檔案,ls2 --檢視某個目錄包含的所有檔案,並列出time,version等資訊

這裡涉及到節點的幾個屬性,這裡統一整理一下

屬性 含義
cZxid 建立節點的事務id
mZxid 對zNode最近修改的zxid
ctime 以距離時間原點(epoch)的毫秒數表示的znode建立時間
mtime 以距離時間原點(epoch)的毫秒數表示的znode最近修改時間
version znode資料的修改次數
cversion znode子節點修改次數
aversion znode的ACL修改次數
ephemeralOwner 如果znode是臨時節點,則指示節點所有者的會話id,如果不是臨時節點則為0
dataLength znode資料長度
numChildren znode子節點個數

create --建立一個znode,並設定初試內容 例:create /test "test"

 這個沒啥可說的

get --獲取znode的資料節點資訊,例如 get /test

set --修改znodeneirong內容,例如:set /test "somebody"

修改後,上面的相關屬性都有了變化,mZxid,dataVersion都有了些許變化

delete --刪除節點資料,例如:delete /test

相關文章