首頁 > 軟體

Java中的zookeeper常用命令詳解

2022-06-24 14:02:15

注意我這裡用的是官方最穩定的版本3.7.1,版本之間有個別命令是有差距的!

1.zkCli.sh使用者端

zkCli.sh可以理解成使用者端,也可以理解成命令列工具,把命令交給他,讓他和zk的伺服器端打交道。
類似於mysql,我們安裝完mysql想要執行命令,那麼就必須要通過mysql -u賬號 -p密碼進入命令列工具裡面,才能執行sql。

在zookeeper/bin 目錄下:

執行./zkCli.sh就進入到了使用者端

ls /:查詢當前目錄下的節點
create /test1:建立test1節點

使用者端關閉:

輸入quit 或者按 Ctrl + C

2.多節點型別建立

  • 建立持久節點:create /test2
  • 建立持久序號節點:create -s /test2
  • 建立臨時節點:create -e /test2
  • 建立臨時序號節點:create -e -s /test2
  • 建立容器節點:create -c /test2

建立test3臨時節點,並向節點賦值資料1(其他節點建立的時候賦值同樣如此,在後面跟上資料即可):create -e /test3 1

3.查詢節點

  • 查詢子節點:
  • 查詢當前節點的子節點:ls /
  • 就是獲取test2下的子節點:ls /test2
  • 普通節點下的資料:get /test2
  • 查詢節點詳細資訊:get -s /test2 || start /test2 || ls -s /test2 (這三種都可以的)

4.set資料

set [-s] [-v version] path data
  • path:節點路徑。
  • data:需要儲存的資料。
  • [-v version]:可選項,版本號(可用作樂觀鎖)。
  • [-s]:set後返回詳情,不新增-s就是返回的set的資料

版本不對就set不成功!

5.刪除節點

  • 普通刪除
  • 刪除a下的b節點:delete /a/b
  • 刪除a節點:delete /a
  • 不管有沒有子節點都刪除:deleteall /test1
  • 樂觀鎖刪除(1就是get -s查詢出來的dataVersion版本,版本不對刪除就失敗):delete -v 1 /test2

6.許可權設定

acl:許可權,定義了什麼樣的⽤戶能夠操作這個節點,且能夠進⾏怎樣的操作。

  • c: create 建立許可權,允許在該節點下建立⼦節點
  • w:write 更新許可權,允許更新該節點的資料
  • r:read 讀取許可權,允許讀取該節點的內容以及⼦節點的列表資訊
  • d:delete 刪除許可權,允許刪除該節點的⼦節點
  • a:admin 管理者許可權,允許對該節點進⾏acl許可權設定

常用命令:

  • 獲取某個節點的 acl 許可權資訊:getAcl /test2
  • 設定某個節點的 acl 許可權資訊:
  • 指定該節點只有c的許可權:setAcl /test2 world:anyone:c
  • 指定某個ip具有什麼許可權:setAcl /runoob/ip ip:192.168.3.7:cdrwa

註冊當前對談的賬號和密碼:

addauth digest xiaowang:123456

建立一個節點賦值abcd資料,然後必須使用xiaoming賬號密碼才能進行讀寫許可權,這時候使用別的對談是存取不了這個節點的。

create /test-node abcd auth:xiaowang:123456:cdwra

在另⼀個對談中必須先使⽤賬號密碼,才能擁有操作該節點的許可權

7.其他命令

當命令輸入錯誤的時候會出現命令幫助檔案的!
檢視當前對談的歷史命令:history

到此這篇關於Java中的zookeeper常用命令詳解的文章就介紹到這了,更多相關zookeeper常用命令內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com