使用zookeeper自帶的zkCli.sh客戶端工具實現對zk的CURD常見操作詳解


  

一、zookeeper自帶的 zkCli.sh 客戶端工具
  1. 應急和測試使用到的一個工具。
    還有C# dirver java dirver (驅動)
 
二、driver的使用方式有兩種
    zkCli.sh 一般的有兩種方式
  1. 連接到指定的ip地址
    我們輸入命令 zkCli.sh 默認地址是本地的, localhost
    現在我們來連接 ip地址
    
 
  命令:zkCli.sh -server host:prot
    zkCli.sh -server 192.168.84.136:2181
    注意在其他服務器也是一樣的連
    
 
 
  2. minSessionTimeout tick * 2
  maxSessionTimeout tick * 20
    4s - 40s
    設置連接時間
  命令: [root@localhost bin]# zkCli.sh -timeout 3000
  
 
 
  命令格式: ZooKeeper -server host:port cmd args
 
  a. 斷開式的 (響應式的 Repl)
    zkCli.sh ls / [DataTree]
    命令 : root@localhost bin]# zkCli.sh ls /
    連接一次后就斷開了
    


    
 
      b. 連接式的 就是普通方式
    命令: zkCli.sh


 
三、如何對znode進行CURD的操作
 
    ZooKeeper -server host:port cmd args
 
stat path [watch]
set path data [version]
ls path [watch]
delquota [-n|-b] path
ls2 path [watch]
setAcl path acl
setquota -n|-b val path
history
redo cmdno
printwatches on|off
delete path [version]
sync path
listquota path
rmr path
get path [watch]
create [-s] [-e] path data acl
addauth scheme auth
quit
getAcl path
close
connect host:port
 
  用path 去找到 這個DataTree的層級關系。Stat
  1. stat path
    m命令:stat /datamip
  2. set path data[version]
    version :CAS一個模式
每次更新之前,都要比較一次當前的version和znode的dataversion版本是否一致
如果不一至,更新失敗。
如果不指定version,那么他的version=1 ,相當於強制指定。
    
 
看到兩個版本不一致,就無法更新
set /datamip dargon 1
就執行成功
 
  3. ls [linux] 遍歷當前znode下面層級的znode節點,在C# 程序中使用。
 
4. delquota [-n|-b] path
  listquota path
  setquota -n|-b val path
 
  setquota -n :表示當前子節點的個數
      -b :子節點的數據byte大小
 
  setAcl path acl :表示給當前的znode 各一個CURD的權限 【后面學習】
  history :操作歷史,找到你曾經使用的10個操作
  redo cmdno : 重做某一個cmdno命令(重新執行曾經的命令,如 redo 2 就執行了之前的 第2條命令)
  delete path [version]: 刪除znode, 如果子節點存在 znode是無法刪除的。
  rmr path :遞歸刪除
  create [-s] [-e] path data acl:
    -s :順序節點
    -e :臨時節點
    acl:
  addauth: 鏈接加密
 
  quit /close connect 區別:
  quit: 直接退出
  close: 並沒有退出,這時候可以用connect來連接
 
 
 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM