3、Zookeeper的常用命令

Zookeeper進入客戶端的命令:進入$ZK_HOME后,執(zhí)行

./zkCli.sh -server ip:port

可以使用幫助命令help來查看客戶端的操作

zk-help

1、創(chuàng)建節(jié)點

使用create命令,可以創(chuàng)建一個Zookeeper節(jié)點, 如

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

其中,-s或-e分別指定節(jié)點特性,順序或臨時節(jié)點,若不指定,則表示持久節(jié)點;acl用來進行權(quán)限控制。

(1) 創(chuàng)建順序節(jié)點

使用 create -s /zk-test 123 命令創(chuàng)建zk-test順序節(jié)點

順序節(jié)點

可以看到創(chuàng)建的zk-test節(jié)點后面添加了一串數(shù)字以示區(qū)別。

(2) 創(chuàng)建臨時節(jié)點

使用 create -e /zk-temp 123 命令創(chuàng)建zk-temp臨時節(jié)點

臨時節(jié)點

臨時節(jié)點在客戶端會話結(jié)束后,就會自動刪除,下面使用quit命令退出客戶端
quit

再次使用客戶端連接服務(wù)端,并使用ls / 命令查看根目錄下的節(jié)點
臨時節(jié)點消失

可以看到根目錄下已經(jīng)不存在zk-temp臨時節(jié)點了。

(3) 創(chuàng)建永久節(jié)點

使用 create /zk-permanent 123 命令創(chuàng)建zk-permanent永久節(jié)點
  

永久節(jié)點

可以看到永久節(jié)點不同于順序節(jié)點,不會自動在后面添加一串數(shù)字。

2、讀取節(jié)點

與讀取相關(guān)的命令有l(wèi)s 命令和get 命令,ls命令可以列出Zookeeper指定節(jié)點下的所有子節(jié)點,只能查看指定節(jié)點下的第一級的所有子節(jié)點;get命令可以獲取ZK指定節(jié)點的數(shù)據(jù)內(nèi)容和屬性信息。其用法分別如下

ls path [watch]
get path [watch]
ls2 path [watch]

若獲取根節(jié)點下面的所有子節(jié)點,使用ls / 命令即可
  


若想獲取根節(jié)點數(shù)據(jù)內(nèi)容和屬性信息,使用get / 命令即可
  

也可以使用ls2 / 命令查看
  

可以看到其子節(jié)點數(shù)量為8。

若想獲取/zk-permanent的數(shù)據(jù)內(nèi)容和屬性,可使用如下命令:**get /zk-permanent **

  

可以看到其數(shù)據(jù)內(nèi)容為123,還有其他的屬性,之后會詳細介紹。

3、更新節(jié)點

使用set命令,可以更新指定節(jié)點的數(shù)據(jù)內(nèi)容,用法如下

set path data [version]

其中,data就是要更新的新內(nèi)容,version表示數(shù)據(jù)版本,如將/zk-permanent節(jié)點的數(shù)據(jù)更新為456,可以使用如下命令:set /zk-permanent 456

現(xiàn)在dataVersion已經(jīng)變?yōu)?了,表示進行了更新。

4、刪除節(jié)點

使用delete命令可以刪除Zookeeper上的指定節(jié)點,用法如下

delete path [version]

其中version也是表示數(shù)據(jù)版本,使用delete /zk-permanent 命令即可刪除/zk-permanent節(jié)點
  


可以看到,已經(jīng)成功刪除/zk-permanent節(jié)點。值得注意的是,若刪除節(jié)點存在子節(jié)點,那么無法刪除該節(jié)點,必須先刪除子節(jié)點,再刪除父節(jié)點。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容