Zookeeper筆記之命令行操做

$ZOOKEEPER_HOME/bin下的zkCli.sh進入命令行界面,使用help可查看支持的全部命令:html

image

 

1、節點相關操做

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

create用於建立新的節點:數組

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

使用create建立一個節點:服務器

image

建立節點時的一些選項詳解:session

-s和-e都是可選的,用來指定節點的類型,節點的類型有四種:ui

臨時節點
臨時順序節點
永久節點
永久順序節點

-s用於指定建立的節點是不是順序的,順序節點就是每次建立子節點的時候都會在已經指定的路徑後追加一個從父節點獲得的自增id,父節點維護的自增id每次建立子節點時都會加1命令行

image 

-e用於指定節點是不是臨時節點仍是持久節點,-e表示ephemeral,表示建立的是臨時節點,默認建立的是永久節點。3d

臨時節點只能是葉子節點,即不能在臨時節點下再建立節點:htm

image

path:指定要建立的節點的路徑,好比/foo/barblog

data:要在此節點上存儲的數據遞歸

acl:訪問控制相關

 

get path [watch]

get獲取指定節點的數據和屬性信息。

get path [watch]

查看根節點的屬性信息:

image

第一行爲節點的數據信息,這裏由於沒有數據因此第一行爲空。

cZxid:節點建立時的Zxid

ctime:節點的建立時間

mZxid:節點最近一次更新時的Zxid

mtime:節點最近一次更新的時間

pZxid:添加刪除子節點

cversion:子節點數據更新次數

dataVersion:此節點的數據更新次數

aclVersion:節點的acl受權信息更新次數

ephemeralOwner:僅在節點爲臨時節點時有效,不然爲0。若是此節點是臨時節點,值爲建立此節點的會話的session id

dataLength:此節點存放的數據的長度

numChildren:有多少子節點

 

stat path [watch]

get和stat的區別是get比stat多返回了節點數據:

image

 

ls path [watch]

列出指定節點下的全部節點

ls path [watch]

image 

返回結果的數據類型是數組。

 

ls2 path [watch]

與ls不一樣的是,ls2除了可以查看此節點下包含的全部節點,還可以查看此節點的相關元信息。

image

 

set path data [version]

set用於更新節點數據

set path data [version]

path:要更新的節點路徑,好比/foo/bar

data:要爲節點設置的新數據

version:指定操做的是節點的哪個版本,不指定的話默認是更新最新版本,每次操做版本增長1

 

delete path [version]

delete用於刪除節點

delete path [version]

path:要刪除的節點的路徑,好比/foo/bar

version:要刪除的節點版本

delete命令的version做用和set中的version一致,也是用於指定是針對節點的哪一個版本進行操做。

須要注意的是被刪除的節點須要是葉子節點,其下不能再有其它節點:

image 

 

rmr path

用來刪除節點,與delete的區別是delete只能用來刪除葉子節點,若是節點下有子節點的話則不能刪除,則rmr能夠刪除非葉子節點,即節點下有子節點時仍能夠刪除節點,zk中的delete相似於Linux下的rmdir,只能用來刪除空目錄,而rmr則相似於rm -rf,無論目錄下面有什麼都遞歸刪除:

image

使用delete刪除/foo時報錯刪除失敗,使用rmr刪除/foo時沒有消息打印,Unix哲學沒有消息就是好消息,說明刪除成功。

 

printwatches on|off

sync path

 

2、ACL相關

setAcl path acl

getAcl path

addauth scheme auth

 

3、配額相關

setquota -n|-b val path

-n 指定path可以存儲的節點數,包括這個節點自己

-b 指定節點下可以存儲的數據數據的大小

image91[1]

 

listquota path

查看某個節點已經設置的配額:

image8

 

delquota [-n|-b] path

刪除某個路徑上對應類型的配額設置,須要注意的是刪除節點時並不會自動刪除綁定在特定路徑上的quota,須要手動刪除:

image11[1]

 

關於配額相關更詳細的知識,請查看:Zookeeper筆記之quota

 

4、鏈接管理相關

connect host:port

用於鏈接到zk服務器

close

用於關閉當前已經打開的鏈接

 

5、命令歷史相關

history

查看命令歷史:

image 

第一列是命令的編號,第二列是實際執行的命令,與Linux下的history的默認樣式差很少,這個命令編號在執行redo時會使用到。

redo cmdno

從history的圖看到每一個命令都有一個命令編號,當前命令的編號在prompt中顯示:

image

每執行完一條命令此命令編號就會加1.

使用命令編號能夠從新執行命令,根據上面history的記錄來看第33條命令是get /foo,使用redo來從新執行一下試試:

image

 

6、其它

quit

退出命令行界面

 

help

查看支持的全部命令

 

 

.

相關文章
相關標籤/搜索