Zookeeper進入客戶端的命令:進入$ZK_HOME后,執(zhí)行
./zkCli.sh -server ip:port
可以使用幫助命令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é)點
可以看到創(chuàng)建的zk-test節(jié)點后面添加了一串數(shù)字以示區(qū)別。
(2) 創(chuàng)建臨時節(jié)點
使用 create -e /zk-temp 123 命令創(chuàng)建zk-temp臨時節(jié)點
臨時節(jié)點在客戶端會話結(jié)束后,就會自動刪除,下面使用quit命令退出客戶端
再次使用客戶端連接服務(wù)端,并使用ls / 命令查看根目錄下的節(jié)點
可以看到根目錄下已經(jīng)不存在zk-temp臨時節(jié)點了。
(3) 創(chuàng)建永久節(jié)點
使用 create /zk-permanent 123 命令創(chuàng)建zk-permanent永久節(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é)點。