zookeeper 二 : 常用命令 + 節點資訊解讀 + 特性 session
阿新 • • 發佈:2019-02-02
常用命令
啟動 zookeeper: ./zkServer.sh start
連線本地 zookeeper:./zkCli.sh
- ls 與 ls2:ls 只看節點,ls2 可以檢視節點狀態
- stat: 檢視狀態(ls2 = ls + stat)
- get: 獲取節點資料
- create: create [-s] [-e] path data acl 建立節點
建立預設節點,非順序,持久化的
create /imooc imooc-data
建立臨時節點
create -e /imooc/tmp imooc-tmp-data
建立順序節點
create -s /imooc/sec seq
- set path data [version]
版本號要跟節點資料的版本號一致,否則無法更新 - delete path [version]
節點狀態解讀
cZxid: 建立後 zk 為當前節點分配的 id
ctime: create time,節點建立時間
mZxid: 節點修改後的 id
mtime: 節點修改時間
pZxid: 子節點 id
cversion: 子節點 version,子節點資料變化時 cversion 會變化
dataversion: 當前節點的資料版本號,噹噹前節點資料修改後,版本號會加一
aclVersion: 訪問控制列表版本,許可權變化時累加
ephemeralOwner:短暫的擁有者,臨時節點繫結到的 session id
dataLength:資料長度
numChildren: 子節點數
特性 - session
- 客戶端與服務端的連線為一次會話
- 每個會話都會設定一個超時時間
- 心跳結束,session 過期(連線過程中,客戶端會定期向服務端傳送心跳指令,表明自己還存活)
- session 過期,則臨時節點 znode 會被刪除
- 心跳機制:客戶端向服務端的 ping 包請求
- watcher 機制