zookeeper常用命令

zookeeper目前是构建分布式系统的重要组件

#进入zookeeper命令行
zkCli.sh 
#查看子节点
ls /
#创建临时master节点,创建临时workers节点
create -e /master "master2.example.com:2223"
create /workers ""
create -e /workers/worker1.example.com "worker1.example.com:2224"
create /tasks ""
create /assigin ""
#客户端给系统添加一个任务cmd,此时/tasks节点下增加了task-0000000000子节点
create -s /tasks/task- "cmd"
#主节点将新的任务分配给worker1.example.com
create /assigin/worker1.example.com/task-0000000000 ""
#worker1在监控到分配节点的变化后检查是否主节点将任务分配给了自己
ls /assigin/worker1.example.com
#获取节点的属性,并监控master节点的状态
stat -w /master 
#查看并监控workers子节点状态
ls -w /workers
#查看并监控tasks子节点的状态
ls  -w /tasks/task-0000000000
#worker1完成后,将tasks子节点的状态值设为done
create /tasks/task-0000000000/status "done"
#获取master的值
get /master
#获取tasks子节点的值
get /tasks/task-0000000000/status
#删除master节点
delete /master
#退出命令行
quit
#设/czk节点的值为czk-data3,修改已有节点的值需要传入版本号,版本号不合则修改失败
set /czk czk-data3 1
#创建顺序节点
create -s /workers/worker1.example.com seq
create -s /workers/worker1.example.com seq
结果:ls /workers,worker1增加了两个兄弟节点?!
[worker1.example.com, worker1.example.com0000000001, worker1.example.com0000000002]
#删除指定节点和子节点
rmr /path

 追加的命令

#listquota命令用于显示配额,如
listquota /storm
#setquota命令用于设置节点个数以及数据长度的配额,如:
setquota –n 4 /zookeeper/node 
#设置/zookeeper/node子节点个数最大为4
setquota –b 100 /zookeeper/node 
#设置/zookeeper/node节点长度最大为100
#delquota命令用于删除配额,-n为子节点个数,-b为节点数据长度,如:
delquota –n 2
#addauth命令用于节点认证,使用方式
addauth digest username:password
#setAcl命令用于设置节点Acl,Acl由三部分构成:1为scheme,2为user,3为permission,一般情况下表示为scheme:id:permissions
#getAcl命令,获取节点的Acl,如
getAcl /node1
#sync命令用于强制同步,由于请求在半数以上的zk server上生效就表示此请求生效,那么就会有一些zk server上的数据是旧的。sync命令就是强制同步所有的更新操作。
#permissions
#CREATE(c): 创建权限,可以在在当前node下创建child node
#DELETE(d): 删除权限,可以删除当前的node
#READ(r): 读权限,可以获取当前node的数据,可以list当前node所有的child nodes
#WRITE(w): 写权限,可以向当前node写数据
#ADMIN(a): 管理权限,可以设置当前node的permission
原文地址:https://www.cnblogs.com/wangbin2188/p/13336256.html