連接
#連接到zk server。服務器ip:port、連接超時時間(ms),2個參數都可缺省,缺省-server時默認為127.0.0.1:2181
./zkCli -server 192.168.1.9:2181 -timeout 5000
#獲取命令幫助,h是help h
#關閉連接
close
#退出zkCli,退出時會自動關閉連接
quit
節點
#創建節點/mall,缺省參數默認是永久節點
create /mall
#-e是臨時節點,-s是順序節點。原本節點名是/mall,-s會自動在節點名后面加一串數字作為新的節點名,一串數字表示順序。-e -s可以一起使用。
create -e /mall
#可以攜帶數據,此處攜帶的數據是abcd
create /mall abcd
#創建子節點。znode和linux的目錄結構差不多的,很多命令也相似。子節點也可以帶參數、帶數據
create /mall/user
#查看某個節點的所有子節點。只列出子節點,不列出孫節點.....根節點/下有個zookeeper節點,是自帶的
ls /
ls /mall
#查看某個節點的狀態
stat /mall
#返回值示例
cZxid = 0x6 #創建此節點的事務id。創建此節點是作為事務處理的,c是create
ctime = Sun Apr 19 17:16:14 CST 2020 #此節點創建時間
mZxid = 0x6 #此節點最近一次更新操作的事務id。肯定要是寫(更新)操作才加事務
mtime = Sun Apr 19 17:16:14 CST 2020 #此節點最近一次更新操作的時間
pZxid = 0x8 #此節點的子節點列表最近一次修改的事務id
cversion = 1 #子節點列表的版本
dataVersion = 0 #數據版本
aclVersion = 0 #acl版本
ephemeralOwner = 0x0 #用於臨時節點,創建臨時節點的事務id。如果不是臨時節點,值為0
dataLength = 4 #攜帶的數據的長度
numChildren = 1 #子節點的數量
#查看節點攜帶的數據
get /mall/user
#設置、修改節點攜帶的數據
set /mall/user 1234
set /mall/user 1234
#每次設置、更新攜帶的數據,都會自動將dataVersion+1,這個數據版本號可以實現和mysql樂觀鎖的version同樣的功能
#設置、更新數據時,可以指定數據版本號,但不管版本號指定為多少,結果都是在當前版本號的基礎上+1
set /mall/user 1234 4
#刪除一個空節點,如果該節點有子節點則刪除不了
delete /mall/user
#刪除某個節點,如果該節點有子孫節點會遞歸刪除
deleteall /mall
zkServer不是數據庫,不要在zkServer上存儲大量的數據。儲存的數據量過大會影響zkServer的性能。
