使用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来连接
 
 
 


原文地址:https://www.cnblogs.com/dragon-L/p/8532801.html