連接:
./zkCli.sh -timeout 0 -r -server ip:port
-timeout:當前會話的超時時間,zookeper依靠與客戶端的心跳來判斷會話是否有效,單位是毫秒
-r: 只讀模式,zookeeper的只讀模式指一個服務器與集群中過半機器失去連接以后,這個服務器就不在不處理客戶端的請求,但我們仍然希望該服務器可以提供讀服務。
-server: zookeeper服務器ip地址和端口號
h(help):查看幫助
ls:列出某一節點下的子節點信息
ls2:列出當前節點的子節點,同時列出節點狀態
stat:查看節點的狀態信息
在zookeeper中,每一次對節點的寫操作都認為是一次事務,每一個事務,系統都會分配一個唯一的事務ID。
czxid:節點被創建的事務ID
ctime: 創建時間
mzxid: 最后一次被更新的事務ID
mtime: 修改時間
pzxid:子節點列表最后一次被更新的事務ID
cversion:子節點的版本號
dataversion:數據版本號
aclversion:權限版本號
ephemeralOwner:用於臨時節點,代表臨時節點的事務ID,如果為持久節點則為0
dataLength:節點存儲的數據的長度
numChildren:當前節點的子節點個數
get:獲取當前節點存儲的數據內容
如:get /zk
create:創建節點
-s:順序節點
-e:臨時節點
如:create /zk "myData"
set:修改節點數據,可攜帶版本號
如:set /zk "myData"
delete:刪除節點,只能刪除沒有子節點的節點
如:delete /zk
rmr:遞歸刪除節點(含子節點)
如:rmr /zk
setquota:設置配額
給節點限制值,比如限制子節點個數、節點數據的長度(當創建節點超出配額時,zookeeper不會拋出異常,會在zookeeper.out記錄警告信息)
-n:限制子節點個數
-b:限制值的長度
listquota:查看配額,以及節點的配額狀態
delquota:刪除配額
close:關閉當前連接
history:查看歷史執行指令
redo:重復執行指令
ACL相關
1、zookeeper的節點有5種操作權限:CREATE、READ、WRITE、DELETE、ADMIN 也就是 增、刪、改、查、管理權限,這5種權限簡寫為crwda(即:每個單詞的首字符縮寫)
2、zookeeper的身份認證有4種方式:
(1)world:默認方式,相當於全世界都能訪問
(2)auth:代表已經認證通過的用戶(cli中可以通過addauth digest user:pwd 來添加當前上下文中的授權用戶)
(3)digest:即用戶名:密碼這種方式認證,這也是業務系統中最常用的
(4)ip:使用ip地址認證
3、認證實例:
(1)增加一個認證用戶:addauth digest 用戶名:密碼明文,如:addauth digest user1:password1
(2)設置權限:
(2.1):setAcl /path auth:用戶名:密碼明文:權限,如:setAcl /test auth:user1:password1:cdrwa
(2.2):setAcl /path digest:用戶名:密碼密文:權限
(3)查看Acl設置:getAcl /path