文章目錄
- Create - 創(chuàng)建Zookeeper節(jié)點
- ls / get - 讀取節(jié)點信息
- set - 更新節(jié)點信息
- delete - 刪除節(jié)點信息
使用如下命令鏈接zk客戶端
./zkCli.sh -server ip:port
Create - 創(chuàng)建Zookeeper節(jié)點
語法如下:
create [-s] [-e] path data acl
-s:代表SEQUENTIAL亭姥,即順序節(jié)點特性
-e:代表EPHEMERAL个初,即臨時節(jié)點特性镜悉,不加-s -e默認創(chuàng)建永久節(jié)點
path:為節(jié)點路徑属划,如/zkParentNode涣旨,/zkParentNode/subNode
acl:用于zk權限控制,一般用不到
測試永久節(jié)點創(chuàng)建
create /persistentNode 1
測試順序節(jié)點創(chuàng)建
create -s /senquentialNode 1
測試臨時節(jié)點創(chuàng)建
create -e /ephemeralNode 1
查看節(jié)點數(shù)據(jù)丧鸯,節(jié)點數(shù)據(jù)如下
斷開連接(quit)后,重新連接客戶端官研,看臨時節(jié)點是否存在
可以看到,臨時節(jié)點ephemeralNode已經(jīng)沒了(連接斷開后自動刪除)
ls / get - 讀取節(jié)點信息
列出指定節(jié)點路徑下子節(jié)點信息
ls path [watch]
path-節(jié)點路徑
watch-為該節(jié)點添加一個監(jiān)聽器闯睹,監(jiān)聽器只會觸發(fā)一次戏羽,如果在該path下創(chuàng)建子節(jié)點,會產(chǎn)生NodeChildrenChanged事件楼吃,如果在path下刪除子節(jié)點始花,會產(chǎn)生NodeChildrenChanged事件,刪除該path所在節(jié)點,會產(chǎn)生NodeDeleted事件
如上圖例子中 ls / 列出了 /目錄下所有節(jié)點信息所刀,其中zookeeper節(jié)點為默認節(jié)點信息
測試watch機制
先執(zhí)行如下命令衙荐,給persistentNode下添加個名為myWatcher的監(jiān)聽器
ls /persistentNode myWatcher
讀取指定節(jié)點數(shù)據(jù)信息和屬性信息
get path [watch]
箭頭處內容為數(shù)據(jù)內容
屬性字段如下:
屬性名 說明
cZxid 節(jié)點創(chuàng)建時事務id
cTime 節(jié)點創(chuàng)建時間
mZxid 節(jié)點最后一次更新時事務id
mTime 節(jié)點最后一次更新時間
pZxid 節(jié)點子節(jié)點列表變化的事務id(子節(jié)點列表變化捞挥,不是子節(jié)點內容變化)
cVersion 子節(jié)點版本號
dataVersion 數(shù)據(jù)節(jié)點內容版本號浮创,更新后+1
aclVersion ACL版本號
ephemeralOwner 若為臨時節(jié)點,則為創(chuàng)建節(jié)點的會話sessionId砌函,若為永久節(jié)點則為0
dataLength 節(jié)點數(shù)據(jù)長度
numChildren 子節(jié)點數(shù)量
set - 更新節(jié)點信息
set path data [version]
version:標識更新是基于節(jié)點哪個dataVersion進行更新
本地對持久節(jié)點進行更新測試斩披,結果如下
set /persistentNode 2
可以看到mZxid變大了,mTime變成當前時間讹俊,同時dataVersion從0變成1
delete - 刪除節(jié)點信息
刪除指定路徑節(jié)點(節(jié)點下必須沒有子節(jié)點)
delete path [version]
創(chuàng)建一個節(jié)點delete垦沉,并在delete下新建delete1節(jié)點信息
嘗試刪除delete節(jié)點,提示node not empty
先刪除子節(jié)點仍劈,此時delete父節(jié)點下午子節(jié)點厕倍,再刪除父節(jié)點,刪除成功
————————————————
版權聲明:本文為CSDN博主「hosaos」的原創(chuàng)文章贩疙,遵循 CC 4.0 BY-SA 版權協(xié)議讹弯,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/hosaos/java/article/details/88016397