zkClient
简介
zkClient是简易的客户端程序
进入zkClient
节点命令
增
create 路径 数据
-s:顺序节点
-e:临时节点
默认情况下,不添加-s或者-e参数的,创建的是持久节点
改
set 路径 数据 版本
data就是要更新的新内容。注意,set命令后面还有一个version参数,在ZooKeeper 中,
节点的数据是有版本概念的,这个参数用于指定本次更新操作是基于ZNode的哪一个数据版本进行的
删
delete 路径 版本
如果节点包含子节点就报错
create /zk-book 123
create /zk-book/child 12345
delete /zk-book
查询【当前节点】
get 路径
查询【子节点】
ls 路径
查看节点状态信息
stat 路径
监听命令
注意
watch监听机制只能够使用一次,如果下次想要使用,必须重新监听
开启监听【当前节点】
get -w 路径
开启监听【子节点】
ls -w 路径
权限命令
相关命令
读取ACL权限:getAcl 路径
设置ACL权限:setAcl 路径
添加认证用户:addauth 路径
World 方案
语法:setAcl 路径 world:anyone:权限
create /node1 1
getAcl /node1
IP 方案
语法:setAcl 路径 ip:参数:权限
可以是具体IP也可以是IP/bit格式,即IP转换为二进制,匹配前bit位,如192.168.0.0/16匹配192.168..
create /node2 1
setAcl /node2 ip:192.168.66.103:cdrwa
使用IP非 192.168.66.101 的机器访问此节点时会提示权限不足
getAcl /node2
Auth 方案
语法:setAcl 路径 auth:用户:权限
添加认证用户:addauth digest 用户:密码
create /node3 1
addauth digest jkw:123456
setAcl /node3 auth:jkw:cdrwa
getAcl /node3
断开会话重连需要重新addauth添加认证用户
Digest 方案
语法:setAcl 路径 digest:用户:密码:权限
这里的密码是经过SHA1及BASE64处理的密文,在SHELL中可以通过以下命令计算
echo -n 用户:密码 | openssl dgst -binary -sha1 | openssl base64
先来获取一个密文
echo -n jkw:123456 | openssl dgst -binary -sha1 | openssl base64
客户端实例
create /node4 1
setAcl /node4 digest:jkw:密文
添加认证用户
addauth digest jkw:123456
获取节点数据没有权限,添加认证用户才可以成功读取数据