zookeeper節點類型及節點常用命令
節點類型
-
臨時節點:客戶端和服務器端斷開連接后,節點被刪除
-
臨時順序節點:Zookeeper給該節點名稱進行順序編號,客戶端與 Zookeeper 斷開連接后 , 該節點被刪除
-
持久節點:客戶端和服務器端斷開連接后,創建的節點依舊存在
-
持久順序節點:Zookeeper給該節點名稱進行順序編號,客戶端與 Zookeeper 斷開連接后 , 該節點依舊存在
創建順序節點時,節點(znode)名稱后會附加一個值,順序號是一個單調遞增的計數器,由父節點維護;在分布式系統中,順序號可以被用於為所有的事件進行全局排序,這樣客戶端可以通過順序號推斷事件的順序
節點命令
# 查看根節點
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
# 查看根節點詳細信息
[zk: localhost:2181(CONNECTED) 2] ls -s /
# 創建節點的事務zxid
[zookeeper]cZxid = 0x0
# znode被創建時的毫秒數(從1970年開始)
ctime = Thu Jan 01 08:00:00 CST 1970
# zonde最后更新的事務zxid
mZxid = 0x0
# znode最后修改時的毫秒數(從1970年開始)
mtime = Thu Jan 01 08:00:00 CST 1970
# znode最后更新的子節點zxid
pZxid = 0x15
# znode子節點變化號,znode子節點修改次數
cversion = 3
# znode數據變化號
dataVersion = 0
# znode訪問控制列表的變化號
aclVersion = 0
# 如果是臨時節點,這個是znode擁有者的session id;如果不是臨時節點則是0
ephemeralOwner = 0x0
# znode的數據長度
dataLength = 0
# znode 子節點數量
numChildren = 1
# 在根節點下創建持久節點znode1
[zk: localhost:2181(CONNECTED) 3] create /znode1
Created /znode1
# 刪除根節點下的子節點znode1(如果znode1有子節點則需要用deleteall命令才能刪除znode1整個節點)
[zk: localhost:2181(CONNECTED) 9] delete /znode1
# 在根節點下創建持久節點znode1且給znode1賦值:value1
[zk: localhost:2181(CONNECTED) 11] create /znode1 "value1"
Created /znode1
# 查詢節點znode1的值
[zk: localhost:2181(CONNECTED) 13] get /znode1
value1
# 在根節點下創建持久順序節點znode1(如果原來沒有順序節點,序號從0開始依次遞增.如果原節點下已有2個節點,則再排
# 序時從2開始,以此類推.被刪除節點的序號依舊存在)
[zk: localhost:2181(CONNECTED) 14] create -s /znode1
Created /znode10000000004
# 在根節點下創建持久順序節點znode1且給znode1賦值:value1
[zk: localhost:2181(CONNECTED) 16] create -s /znode1 "value1"
Created /znode10000000005
# 在根節點下創建臨時節點znode1-t
[zk: localhost:2181(CONNECTED) 8] create -e /znode1-t
Created /znode1-t
# 在根節點下創建臨時順序節點znode1-t
[zk: localhost:2181(CONNECTED) 10] create -e -s /znode1-t
Created /znode1-t0000000008
# 修改根節點下的字節點znode1-t的值
[zk: localhost:2181(CONNECTED) 12] set /znode1-t "value1-t"
注意:創建節點后不能創建同名節點,除非是順序節點(創建的順序節點名稱會自動編號所以不算是重名)
