Zookeeper-客戶端命令

Zookeeper客戶端命令

zkCli.sh

默認爲本地服務端,連接到服務器

zkCli.sh -server ip:port

指定服務端,連接到服務集羣

help命令

connect host:port 

連接到其他的zookeeper服務器

     

create [-s] [-e] path data acl

創建節點,-s爲創建有序列的節點,-e創建臨時節點,acl爲權限設置,具體Zookeeper-權限

get path [watch]

獲取節點信息,watch=true,則監聽該節點


delete path [version]

刪除節點。version=-1時,不匹配版本號,直接刪除。version爲其他值時,刪除對應版本號的節點。無法刪除有子節點的節點。

刪除,版本號dataVersion不對應的時候,刪除失敗。版本號對了,則刪除成功。

無法刪除有子節點的節點


rmr path

刪除節點命令,此命令與delete命令不同的是delete不可刪除有子節點的節點,但是rmr命令可以刪除,注意路徑爲絕對路徑

stat path[watch]

查看節點狀態信息,watch爲true,添加監聽器

監聽節點

使用客戶端修改water的節點數據

監聽器監聽修改節點事件

注意Stat設置是否監聽只能奏效一次,觸發後監聽就失效

set path data [version]

修改節點數據,version爲待修改數據的版本號。修改後,節點版本dataVersion數據新增

ls path [watch]

列出節點path的子節點,watch爲true,添加節點path的監聽器,如下圖

ls2 path [watch]

列出節點path的節點信息,同時包括狀態信息。wattch爲true時,會監聽該節點的觸發事件,但是觸發完後,該監聽事件就被清除了。

setquota -n|-b val path

設置節點的子節點最大個數或者最大長度。當子節點超過了限制,日誌會打印警告信息。

-n:限制該節點最大能擁有多少個子節點

-b:限制該節點能存儲的數據最大是多少字節

下圖我們創建foo了節點,同時我們限制其最大子節點個數爲3,但我們創建3個節點時候,日誌打印出了警告信息。

警告信息

delquota [-n|-b] path

刪除限制

下圖,當我們再次創建節點/foo/d的時候,日誌系統繼續發出提示。當我們刪除限制/foo,再次創建系欸但/foo/e的時候,日誌系統不再提示。


  listquota path

  顯示指定路徑下已經設置的限制

 history

列出最近使用的命令

redo cmdno

與history配合使用,指定執行歷史某個命令


quit

退出連接

setAcl path acl

Acl表示爲scheme:id:permissions,第一個字段表示採用哪一種機制scheme,第二個id表示用戶user,第三個permissions表示相關權限(如只讀,讀寫,管理等)。zookeeper提供瞭如下幾種機制(scheme):

world: 它下面只有一個id, anyone, world:anyone代表任何人,zookeeper中對所有人有權限的結點就是屬於world:anyone的,

默認情況下爲world。

默認Acl:

設置Acl:

auth: 它不需要id, 只要是通過authenticationuser都有權限(zookeeper支持通過kerberos來進行authencation, 也支持username/password形式的authentication)

設置auth的Acl,先得創建使用addauth schema auth創建user:password。注意這裏digest是語法要求,和下面提到得digest不是一個概念。

設置Acl:

digest: 它對應的idusername:BASE64(SHA1(password)),它需要先通過username:password形式的authentication

setAcl /testAcl/testB digest:user:6DY5WhzOfGsWQ1XFuIyzxkpwdPo=:crwa

ip: 它對應的id爲客戶機的IP地址,設置的時候可以設置一個ip段,比如ip:192.168.1.0/16, 表示匹配前16bitIP

setAcl /testAcl/testB ip:192.168.249.139:crwa

permissions

CREATE(c): 創建權限,控制當前節點的子節點是否可以創建的權限

DELETE(d): 刪除權限,控制當前節點的子節點是否可以刪除的權限,不是控制本節點的刪除權限,本節點的刪除權限不受影響。

READ(r): 讀權限,控制當前節點讀的權限

WRITE(w): 寫權限,控制當前節點的權限

ADMIN(a): 管理權限,可以設置當前node的permission

addauth scheme auth

添加id:


 
 close

關閉客戶端

      
printwatches on|off

printwathes命令用於設置和顯示監視狀態,值爲on或則off
       
 sync path

sync命令用於強制同步,由於請求在半數以上的zk server上生效就表示此請求生效,那麼就會有一些zk server上的數據是舊的。sync命令就是強制同步所有的更新操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章