進入 ZooKeeper 安裝文件夾的 bin 目錄泼菌,執(zhí)行以下命令連接 ZooKeeper 服務,連接之前首選要確定 ZooKeeper 服務已經(jīng)成功啟動:
./zkCli.sh -server 127.0.0.1:2181
查看命令:
help
創(chuàng)建節(jié)點:
create
通過 create 命令在根目錄創(chuàng)建 node1 節(jié)點易迹,與它關聯(lián)的字符串是 "node1"
[zk: 127.0.0.1:2181(CONNECTED) 34] create /node1 “node1”
通過 create 命令在 node1 目錄創(chuàng)建 node1 節(jié)點嘱巾,與它關聯(lián)的內容是數(shù)字 123
[zk: 127.0.0.1:2181(CONNECTED) 1] create /node1/node1.1 123
Created /node1/node1.1
- 更新節(jié)點的內容:
set
[zk: 127.0.0.1:2181(CONNECTED) 11] set /node1 "set node1"
- 獲取節(jié)點的數(shù)據(jù):
get
get 命令可以獲取指定節(jié)點的數(shù)據(jù)內容和節(jié)點狀態(tài)
get node1
cZxid = 0x47
ctime = Sun Jan 20 10:22:59 CST 2019
mZxid = 0x4b
mtime = Sun Jan 20 10:41:10 CST 2019
pZxid = 0x4a
cversion = 1
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 9
numChildren = 1
- 查看某個目錄下的子節(jié)點:
ls
通過 ls 命令查看根目錄下的節(jié)點
[zk: 127.0.0.1:2181(CONNECTED) 37] ls /
[dubbo, zookeeper, node1]
通過 ls 命令查看 node1 目錄下的節(jié)點
[zk: 127.0.0.1:2181(CONNECTED) 5] ls /node1
[node1.1]
zookeeper 中的 ls 命令和 linux 命令中的 ls 類似, 這個命令將列出絕對路徑path下的所有子節(jié)點信息(列出1級,并不遞歸)
- 查看節(jié)點狀態(tài):
stat
通過 stat 命令查看節(jié)點狀態(tài)
[zk: 127.0.0.1:2181(CONNECTED) 10] stat /node1
cZxid = 0x47
ctime = Sun Jan 20 10:22:59 CST 2019
mZxid = 0x47
mtime = Sun Jan 20 10:22:59 CST 2019
pZxid = 0x4a
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 11
numChildren = 1
- 查看節(jié)點信息和狀態(tài):
ls2
ls2 命令就像是 ls 命令和 stat 命令的結合炕吸。ls2 命令返回的信息包括2部分:子節(jié)點列表 + 當前節(jié)點的 stat 信息
[zk: 127.0.0.1:2181(CONNECTED) 7] ls2 /node1
[node1.1]
cZxid = 0x47
ctime = Sun Jan 20 10:22:59 CST 2019
mZxid = 0x47
mtime = Sun Jan 20 10:22:59 CST 2019
pZxid = 0x4a
cversion = 1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 11
numChildren = 1
- 刪除節(jié)點:
delete
需要注意,如果要刪除某一個節(jié)點勉痴,那么這個節(jié)點必須無子節(jié)點才行
[zk: 127.0.0.1:2181(CONNECTED) 3] delete /node1/node1.1
參考:《從 Paxos 到 Zookeeper 分布式一致性原理與實踐》