ZooKeeper常用命令
連線和斷開節點
- 檢視ZooKeeper的狀態和角色:ZooKeeper安裝目錄/bin/zkServer.sh status
- 通過ZooKeeper客戶端:ZooKeeper安裝目錄/bin/zkCli.sh -server ip地址:port
- 客戶端連線成功後,輸出ZooKeeper支援的所有命令:help
- 客戶端連線成功後,斷開連線:quit
節點控制
- 檢視指定路徑下包含的節點:
# 檢視/目錄下包含的節點
ls /
# 檢視 /test/node1目錄下包含的節點
ls /test/node1
- 建立節點
建立節點時,可以不帶資料,此時獲取該節點的資料,返回null
臨時節點:會話結束,節點刪除
-s:有序節點 -e:臨時節點
# 建立永久無序節點
create /test "資料"
# 建立永久有序節點
create -s /test "資料"
# 建立臨時無序節點
create -e /test "資料"
# 建立臨時有序節點
create -e -s /test "資料"
create -es /test "資料"
- 讀取節點資料
get 節點路徑
get /test
- 獲取節點詳細資訊
get -s 節點路徑
get -s /test
- 檢視當前節點的屬性
stat 節點路徑
- 檢視當前節點的子節點列表
ls 節點路徑
返回結果:
test #返回結果
cZxid = 0x200000013
ctime = Fri Aug 14 05:59:08 UTC 2020
mZxid = 0x200000017
mtime = Fri Aug 14 06:24:43 UTC 2020
pZxid = 0x200000013
cversion = 0
dataVersion = 2 #節點資料版本號
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 0
- 修改節點資料
set 節點路徑 新資料
【方式2】帶樂觀鎖的方式修改節點資料:
set -v 版本號 節點路徑 資料
set -v 1 /test/a0000000006 12
基於版本號進行修改,當set命令傳入的版本號與當前節點的版本號不一致時,zookeeper會拒絕修改。
- 刪除節點
#刪除節點
delete 節點路徑
#遞迴刪除,可以刪除某個節點及其子節點
deleteall 節點路徑
帶版本刪除節點
delete -v 版本號 節點路徑
delete -v 12 /test/a0000000006
監聽器
(1) 使用【get -w 節點路徑】註冊的監聽器能夠在節點資料發生變化,向客戶端發出通知,當觸發一次監聽事件後,該監聽就會立即失效
get -w 節點路徑
(2)使用【stat -w 節點路徑】註冊的監聽器能夠在節點資料發生變化,向客戶端發出通知,當觸發一次監聽事件後,該監聽就會立即失效
stat -w 節點路徑
(3)使用【ls -w 節點路徑】註冊的監聽器能監聽該節點下的所有子節點的增加和刪除操作,當觸發一次監聽事件後,該監聽就會立即失效
ls -w /test
切記:一次監聽器的註冊只能捕獲一次事件,使用一次後立即失效
ACL 訪問許可權控制列表
acl: access control list
Zookeeper的許可權控制是針對每個znode節點的,需要對每個節點設定許可權,子節點不會繼承父節點的許可權,客戶端無權訪問某節點,但可能訪問它的子節點
zookeeper的許可權模式:world、IP、auth、digest
- world模式:只有一個使用者,anyone,代表登入zookeeper的所有人(預設)
- ip模式:對客戶端進行ip地址認證
setAcl 節點路徑 許可權模式:授權物件:許可權
#ip地址為192.168.1.2的客戶端可以對節點擁有增刪改查的許可權
setAcl /test ip:192.168.1.2:crwda
- auth模式:使用已新增認證的使用者認證
- digest:使用使用者名稱:密碼的方式認證
相關文章
- ZooKeeper 06 - ZooKeeper 的常用命令
- ZooKeeper常用命令列操作命令列
- 【zookeeper】zookeeper分散式鎖分散式
- zookeeper
- 【zookeeper之七】Zookeeper客戶端客戶端
- 【Zookeeper】zookeeper客戶端KeeperErrorCode = ConnectionLoss客戶端Error
- zookeeper學習04 zookeeper收尾+dubbo前瞻
- Zookeeper原始碼分析(二) —– zookeeper日誌原始碼
- Zookeeper原始碼分析(二) ----- zookeeper日誌原始碼
- Zookeeper系列一:Zookeeper基礎命令操作
- ZooKeeper 系列(一)—— ZooKeeper核心概念詳解
- zookeeper理解
- zookeeper:spark-project專案的zookeeper配置SparkProject
- [Zookeeper-01]什麼是zookeeper?& Linux / Windows Zookeeper安裝和部署(單點)LinuxWindows
- ZooKeeper系列(4):ZooKeeper的配置檔案詳解
- ZooKeeper系列(2):ZooKeeper命令列工具zkCli.sh命令列
- ZooKeeper筆記(1):ZooKeeper特性與基本概念筆記
- zookeeper、dubbo、kafkaKafka
- 分散式-zookeeper分散式
- ZooKeeper系列(三)
- ZooKeeper系列(四)
- dubbo 和 zookeeper
- ZooKeeper介紹
- zookeeper控制檯
- Zookeeper 新手教程
- zookeeper總結
- ZooKeeper淺談
- Java呼叫ZookeeperJava
- zookeeper入門
- zookeeper使用教程
- Zookeeper簡介
- Zookeeper深入原理
- Zookeeper原始碼分析-Zookeeper Leader選舉演算法原始碼演算法
- 【GO】27. zookeeper golang庫go-zookeeper例項Golang
- ZooKeeper系列(3)--基於ZooKeeper實現主從協作
- ZooKeeper分散式專題(一) -- zookeeper安裝以及介紹分散式
- ZooKeeper 05 - ZooKeeper 叢集的腦裂問題(Split Brain)AI
- 4.5 zookeeper分散式分散式