1.啟動/停止/查看狀態
zkServer.sh start /usr/local/zookeeper-3.4.6/conf/zoo.cfg zkServer.sh stop /usr/local/zookeeper-3.4.6/conf/zoo.cfg zkServer.sh status /usr/local/zookeeper-3.4.6/conf/zoo.cfg
2.連接客戶端
zkCli.sh -server ip:port
3.查看幫助
help
4.查看節點狀態
# watch可選,有watch表示監聽這個節點,節點有變化會立刻通知
stat path [watch]
5.設置節點內容
# version可選,建議修改數據加上版本號,保證數據一致性
set path data [version]
6.列出節點
# watch可選,有watch表示監聽這個節點,節點有變化會立刻通知
ls path [watch]
# 包含該節點的詳細信息,如子節點總數等
ls2 path [watch]
7.對節點設置配額
setquota -n|-b val path
# n:表示子節點的最大個數
# b:表示數據值的最大長度
# val:子節點最大個數或數組值的最大長度
# path:節點路徑
# 例如,設置節點node1最大子節點數為1,雖然設置了限制,但是還是可以為node1節點創建超過1的子節點數,會在zookeeper日志中拋出警告
setquota -n 1 /node1
8.列出節點配額
listquota path
9.刪除節點限制
delquota [-n|-b] path
# 例如,刪除節點node1子節點最大個數限制
delquota -n /node1
10.授權
setAcl path acl
# 這是其中兩種授權方式的列子,其中rwadc分別代表讀、寫、管理、刪除、查詢五種方式,可選其中一種或者幾種
# 1.auth方式
addauth disgest username:password #(用戶名和密碼)
setAcl /auth auth:username:password:rwadc
# 2.digest方式
# 先將密碼明文加密,即先使用sha1,再使用base64
echo -n test:test | openssl dgst -binary -sha1 | openssl base64
# 將生成的密文設為密碼
setAcl /path digest:用戶名:密碼密文:權限
# 3.訪問,兩種方式都是這樣
addauth digest 用戶名:密碼明文
get path
11.檢查權限
getAcl path
12.重復命令
# cmdno代表上一次的操作的數字,
#[zk: 47.96.102.205:2181(CONNECTED) 4] get /acl,這里為4
redo cmdno
13.打開或關閉監聽日志
printwatches on|off
14.刪除節點
# 此命令不可以刪除有子節點的節點
delete path [version]
15.與leader同步數據
# 在獲取數據前,應該先執行sync,保證獲取到最新數據,sync是異步的,無需等待,
# zookeeper能保證所有后續操作在sync完成后執行
sync path
16.獲取節點數據
get path [watch]
17.刪除節點
# 該命令可以刪除有子節點的節點
rmr path
18.添加節點
create [-s] [-e] path data acl
# s:順序節點
# e:臨時節點
# path:路徑
# data:節點數據
# acl:節點權限
19.關閉連接
close
20.退出
quit
21.連接到服務器
connect host:port
22.訪問有權限的節點
addauth scheme auth
# scheme,有五種方式,分別是,word,auth,digest,host,ip,可參考https://www.jianshu.com/p/147ca2533aff