$ZOOKEEPER_HOME/bin下的zkCli.sh進入命令行界面,使用help可查看支持的全部命令:html
create用於建立新的節點:數組
create [-s] [-e] path data acl
使用create建立一個節點:服務器
建立節點時的一些選項詳解:session
-s和-e都是可選的,用來指定節點的類型,節點的類型有四種:ui
臨時節點 臨時順序節點 永久節點 永久順序節點
-s用於指定建立的節點是不是順序的,順序節點就是每次建立子節點的時候都會在已經指定的路徑後追加一個從父節點獲得的自增id,父節點維護的自增id每次建立子節點時都會加1命令行
-e用於指定節點是不是臨時節點仍是持久節點,-e表示ephemeral,表示建立的是臨時節點,默認建立的是永久節點。3d
臨時節點只能是葉子節點,即不能在臨時節點下再建立節點:htm
path:指定要建立的節點的路徑,好比/foo/barblog
data:要在此節點上存儲的數據遞歸
acl:訪問控制相關
get獲取指定節點的數據和屬性信息。
get path [watch]
查看根節點的屬性信息:
第一行爲節點的數據信息,這裏由於沒有數據因此第一行爲空。
cZxid:節點建立時的Zxid
ctime:節點的建立時間
mZxid:節點最近一次更新時的Zxid
mtime:節點最近一次更新的時間
pZxid:添加刪除子節點
cversion:子節點數據更新次數
dataVersion:此節點的數據更新次數
aclVersion:節點的acl受權信息更新次數
ephemeralOwner:僅在節點爲臨時節點時有效,不然爲0。若是此節點是臨時節點,值爲建立此節點的會話的session id
dataLength:此節點存放的數據的長度
numChildren:有多少子節點
get和stat的區別是get比stat多返回了節點數據:
列出指定節點下的全部節點
ls path [watch]
返回結果的數據類型是數組。
與ls不一樣的是,ls2除了可以查看此節點下包含的全部節點,還可以查看此節點的相關元信息。
set用於更新節點數據
set path data [version]
path:要更新的節點路徑,好比/foo/bar
data:要爲節點設置的新數據
version:指定操做的是節點的哪個版本,不指定的話默認是更新最新版本,每次操做版本增長1
delete用於刪除節點
delete path [version]
path:要刪除的節點的路徑,好比/foo/bar
version:要刪除的節點版本
delete命令的version做用和set中的version一致,也是用於指定是針對節點的哪一個版本進行操做。
須要注意的是被刪除的節點須要是葉子節點,其下不能再有其它節點:
用來刪除節點,與delete的區別是delete只能用來刪除葉子節點,若是節點下有子節點的話則不能刪除,則rmr能夠刪除非葉子節點,即節點下有子節點時仍能夠刪除節點,zk中的delete相似於Linux下的rmdir,只能用來刪除空目錄,而rmr則相似於rm -rf,無論目錄下面有什麼都遞歸刪除:
使用delete刪除/foo時報錯刪除失敗,使用rmr刪除/foo時沒有消息打印,Unix哲學沒有消息就是好消息,說明刪除成功。
-n 指定path可以存儲的節點數,包括這個節點自己
-b 指定節點下可以存儲的數據數據的大小
查看某個節點已經設置的配額:
刪除某個路徑上對應類型的配額設置,須要注意的是刪除節點時並不會自動刪除綁定在特定路徑上的quota,須要手動刪除:
關於配額相關更詳細的知識,請查看:Zookeeper筆記之quota
用於鏈接到zk服務器
用於關閉當前已經打開的鏈接
查看命令歷史:
第一列是命令的編號,第二列是實際執行的命令,與Linux下的history的默認樣式差很少,這個命令編號在執行redo時會使用到。
從history的圖看到每一個命令都有一個命令編號,當前命令的編號在prompt中顯示:
每執行完一條命令此命令編號就會加1.
使用命令編號能夠從新執行命令,根據上面history的記錄來看第33條命令是get /foo,使用redo來從新執行一下試試:
退出命令行界面
查看支持的全部命令
.