1. 程式人生 > >zookeeper 二 : 常用命令 + 節點資訊解讀 + 特性 session

zookeeper 二 : 常用命令 + 節點資訊解讀 + 特性 session

常用命令

啟動 zookeeper: ./zkServer.sh start
連線本地 zookeeper:./zkCli.sh

  1. ls 與 ls2:ls 只看節點,ls2 可以檢視節點狀態
    QQ截圖20180713083619.png
  2. stat: 檢視狀態(ls2 = ls + stat)
  3. get: 獲取節點資料
  4. create: create [-s] [-e] path data acl 建立節點
    建立預設節點,非順序,持久化的
    create /imooc imooc-data
    建立臨時節點
    create -e /imooc/tmp imooc-tmp-data
    建立順序節點
    create -s /imooc/sec seq
    QQ截圖20180713083641.png
  5. set path data [version]
    QQ截圖20180713083911.png
    版本號要跟節點資料的版本號一致,否則無法更新
  6. delete path [version]
    QQ截圖20180713083936.png

節點狀態解讀

QQ截圖20180713084021.png

cZxid: 建立後 zk 為當前節點分配的 id
ctime: create time,節點建立時間
mZxid: 節點修改後的 id
mtime: 節點修改時間
pZxid: 子節點 id
cversion: 子節點 version,子節點資料變化時 cversion 會變化
dataversion: 當前節點的資料版本號,噹噹前節點資料修改後,版本號會加一
aclVersion: 訪問控制列表版本,許可權變化時累加
ephemeralOwner:短暫的擁有者,臨時節點繫結到的 session id
dataLength:資料長度
numChildren: 子節點數

特性 - session

  1. 客戶端與服務端的連線為一次會話
  2. 每個會話都會設定一個超時時間
  3. 心跳結束,session 過期(連線過程中,客戶端會定期向服務端傳送心跳指令,表明自己還存活)
  4. session 過期,則臨時節點 znode 會被刪除
  5. 心跳機制:客戶端向服務端的 ping 包請求
  6. watcher 機制