Java中的zookeeper常用命令詳解
注意我這里用的是官方最穩(wěn)定的版本3.7.1,版本之間有個(gè)別命令是有差距的!
1.zkCli.sh客戶端
zkCli.sh可以理解成客戶端,也可以理解成命令行工具,把命令交給他,讓他和zk的服務(wù)端打交道。
類似于mysql,我們安裝完mysql想要執(zhí)行命令,那么就必須要通過(guò)mysql -u賬號(hào) -p密碼進(jìn)入命令行工具里面,才能執(zhí)行sql。
在zookeeper/bin 目錄下:

執(zhí)行./zkCli.sh就進(jìn)入到了客戶端
ls /:查詢當(dāng)前目錄下的節(jié)點(diǎn)create /test1:創(chuàng)建test1節(jié)點(diǎn)

客戶端關(guān)閉:
輸入quit 或者按 Ctrl + C
2.多節(jié)點(diǎn)類型創(chuàng)建
- 創(chuàng)建持久節(jié)點(diǎn):
create /test2 - 創(chuàng)建持久序號(hào)節(jié)點(diǎn):
create -s /test2 - 創(chuàng)建臨時(shí)節(jié)點(diǎn):
create -e /test2 - 創(chuàng)建臨時(shí)序號(hào)節(jié)點(diǎn):
create -e -s /test2 - 創(chuàng)建容器節(jié)點(diǎn):
create -c /test2
創(chuàng)建test3臨時(shí)節(jié)點(diǎn),并向節(jié)點(diǎn)賦值數(shù)據(jù)1(其他節(jié)點(diǎn)創(chuàng)建的時(shí)候賦值同樣如此,在后面跟上數(shù)據(jù)即可):create -e /test3 1
3.查詢節(jié)點(diǎn)
- 查詢子節(jié)點(diǎn):
- 查詢當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn):
ls / - 就是獲取test2下的子節(jié)點(diǎn):
ls /test2 - 普通節(jié)點(diǎn)下的數(shù)據(jù):
get /test2 - 查詢節(jié)點(diǎn)詳細(xì)信息:
get -s /test2||start /test2||ls -s /test2(這三種都可以的)

4.set數(shù)據(jù)
set [-s] [-v version] path data
- path:節(jié)點(diǎn)路徑。
- data:需要存儲(chǔ)的數(shù)據(jù)。
- [-v version]:可選項(xiàng),版本號(hào)(可用作樂(lè)觀鎖)。
- [-s]:set后返回詳情,不添加-s就是返回的set的數(shù)據(jù)
版本不對(duì)就set不成功!

5.刪除節(jié)點(diǎn)
- 普通刪除
- 刪除a下的b節(jié)點(diǎn):
delete /a/b - 刪除a節(jié)點(diǎn):
delete /a - 不管有沒(méi)有子節(jié)點(diǎn)都刪除:
deleteall /test1 - 樂(lè)觀鎖刪除(1就是get -s查詢出來(lái)的dataVersion版本,版本不對(duì)刪除就失?。?code>delete -v 1 /test2

6.權(quán)限設(shè)置
acl:權(quán)限,定義了什么樣的?戶能夠操作這個(gè)節(jié)點(diǎn),且能夠進(jìn)?怎樣的操作。
- c: create 創(chuàng)建權(quán)限,允許在該節(jié)點(diǎn)下創(chuàng)建?節(jié)點(diǎn)
- w:write 更新權(quán)限,允許更新該節(jié)點(diǎn)的數(shù)據(jù)
- r:read 讀取權(quán)限,允許讀取該節(jié)點(diǎn)的內(nèi)容以及?節(jié)點(diǎn)的列表信息
- d:delete 刪除權(quán)限,允許刪除該節(jié)點(diǎn)的?節(jié)點(diǎn)
- a:admin 管理者權(quán)限,允許對(duì)該節(jié)點(diǎn)進(jìn)?acl權(quán)限設(shè)置
常用命令:
- 獲取某個(gè)節(jié)點(diǎn)的 acl 權(quán)限信息:
getAcl /test2 - 設(shè)置某個(gè)節(jié)點(diǎn)的 acl 權(quán)限信息:
- 指定該節(jié)點(diǎn)只有c的權(quán)限:
setAcl /test2 world:anyone:c - 指定某個(gè)ip具有什么權(quán)限:
setAcl /runoob/ip ip:192.168.3.7:cdrwa

注冊(cè)當(dāng)前會(huì)話的賬號(hào)和密碼:
addauth digest xiaowang:123456
創(chuàng)建一個(gè)節(jié)點(diǎn)賦值abcd數(shù)據(jù),然后必須使用xiaoming賬號(hào)密碼才能進(jìn)行讀寫權(quán)限,這時(shí)候使用別的會(huì)話是訪問(wèn)不了這個(gè)節(jié)點(diǎn)的。
create /test-node abcd auth:xiaowang:123456:cdwra
在另?個(gè)會(huì)話中必須先使?賬號(hào)密碼,才能擁有操作該節(jié)點(diǎn)的權(quán)限

7.其他命令
當(dāng)命令輸入錯(cuò)誤的時(shí)候會(huì)出現(xiàn)命令幫助文檔的!
查看當(dāng)前會(huì)話的歷史命令:history
到此這篇關(guān)于Java中的zookeeper常用命令詳解的文章就介紹到這了,更多相關(guān)zookeeper常用命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
AsyncHttpClient?ClientStats源碼流程解讀
這篇文章主要為大家介紹了AsyncHttpClient?ClientStats源碼流程解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
java中多個(gè)@Scheduled定時(shí)器不執(zhí)行的解決方法
在應(yīng)用開(kāi)發(fā)中經(jīng)常需要一些周期性的操作,比如每5分鐘執(zhí)行某一操作等,這篇文章主要給大家介紹了關(guān)于java中多個(gè)@Scheduled定時(shí)器不執(zhí)行的解決方法,需要的朋友可以參考下2023-04-04
Java畢業(yè)設(shè)計(jì)實(shí)戰(zhàn)之二手書商城系統(tǒng)的實(shí)現(xiàn)
這是一個(gè)使用了java+JSP+Springboot+maven+mysql+ThymeLeaf+FTP開(kāi)發(fā)的二手書商城系統(tǒng),是一個(gè)畢業(yè)設(shè)計(jì)的實(shí)戰(zhàn)練習(xí),具有在線書城該有的所有功能,感興趣的朋友快來(lái)看看吧2022-01-01
SpringBoot如何使用applicationContext.xml配置文件
這篇文章主要介紹了SpringBoot使用applicationContext.xml配置文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
RocketMQ獲取指定消息的實(shí)現(xiàn)方法(源碼)
這篇文章主要給大家介紹了關(guān)于RocketMQ獲取指定消息的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用RocketMQ具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
Spring很常用的@Conditional注解的使用場(chǎng)景和源碼解析
今天要分享的是Spring的注解@Conditional,@Conditional是一個(gè)條件注解,它的作用是判斷Bean是否滿足條件,本文詳細(xì)介紹了@Conditional注解的使用場(chǎng)景和源碼,需要的朋友可以參考一下2023-04-04
在Java中動(dòng)態(tài)執(zhí)行字符串代碼的方法小結(jié)
在Java編程中,靜態(tài)編譯的特性通常不允許我們直接執(zhí)行運(yùn)行時(shí)生成的代碼,然而,有時(shí)我們需要?jiǎng)討B(tài)地生成并執(zhí)行代碼片段,本文將詳細(xì)介紹如何在Java中運(yùn)行一段字符串代碼,并提供詳細(xì)的代碼案例和運(yùn)行結(jié)果,需要的朋友可以參考下2024-08-08

