文章目录
- Source language 源语 [(3.5.6版本)](https://zookeeper.apache.org/doc/r3.5.6/zookeeperProgrammers.html)
-
-
- 缩写
- create [-s] [-e] [-c] [-t ttl] path [data] [acl]
- ls [-s] [-w] [-R] path 查看节点、监听节点的存在性(一次性)
- ls2 path [watch] (deprecated)
- get [-s] [-w] path 查看节点数据、监听节点数据状态(一次性)
- stat [-w] path 监听节点数据状态(一次性)
- printwatches on|off
- delete [-v version] path
- deleteall path
- set [-s] [-v version] path data
- setquota -n|-b val path
- listquota path
- delquota [-n|-b] path
- delquota删除后需要重连才能再次创建不同类型的quota
- 添加/删除/修改新机器到zookeeper集群
- config [-c] [-w] [-s]
- redo cmdno
- removewatches path [-c|-d|-a] [-l]
- rmr path(deprecated)-> deleteall
- sync path
- history
- addauth scheme auth, getAcl [-s] path , setAcl [-s] [-v version] [-R] path acl 见权限篇
- connect host:port
- close (关闭连接但不退出,可用connect命令重连当前,或用connect host:port 连接其他)
- quit (关闭连接且退出)
-
Source language 源语 (3.5.6版本)
缩写
- zxid : ZooKeeper Transaction Id
- m :modified
create [-s] [-e] [-c] [-t ttl] path [data] [acl]
- c :Container
- t :TTL
- e:Ephemeral Nodes
- s:Sequence Nodes
[zk: localhost:2181(CONNECTED) 2] create /lock "lock root" # 持久节点,数据为lock root
Created /lock
[zk: localhost:2181(CONNECTED) 3] create -e /lock/seq- # 临时节点, 数据为null
Created /lock/seq-
[zk: localhost:2181(CONNECTED) 6] create -s /lock/seq- # 创建顺序节点
Created /lock/seq-0000000001
[zk: localhost:2181(CONNECTED) 21] create -t "123" /lock/seqs # -t必须是一个long值
-t argument must be a long value
[zk: localhost:2181(CONNECTED) 7] create -t 15 /a # ttl跟操作系统有关,默认是禁用的,使用zookeeper.extendedTypesEnabled=true开启,详见zk配置
KeeperErrorCode = Unimplemented for /a
ls [-s] [-w] [-R] path 查看节点、监听节点的存在性(一次性)
- -s :state
- -w:watcher
- -R:recursion
[zk: localhost:2181(CONNECTED) 7] ls -s /root #获取path的信息,包括子节点列表、个数
[node1, node2]cZxid = 0x22 # 节点创建时的事物id
ctime = Thu Dec 26 22:23:35 CST 2019 # 创建时间
mZxid = 0x24 # 上次修改当前节点的值的事物id
mtime = Thu Dec 26 22:24:24 CST 2019 # 最后修改时间 以前版本是时间戳
pZxid = 0x25 # 最后修改子节点(添加/删除)的事物id
cversion = 2 # 子节点版本 create/delete -> cversion++
dataVersion = 1 # 数据版本,每set一次就+1
aclVersion = 0 # 权限版本,每次修改+1 (官方文档写的aversion实际上是左侧值)
ephemeralOwner = 0x0 # 如果当前节点是临时节点则值为当前会话id形如0x101c68b09e80001,否则为0x0
dataLength = 4 # get path的数据长度
numChildren = 2 # 子节点个数
[zk: localhost:2181(CONNECTED) 1] ls -w /root # 监听/root的子节点(直接子节点)增删变化(一次性),替代了老版本的ls path true 如果有更改->WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/root
[node1, node2]