create创建节点语法:
create [-s] [-e] path [data]
-
-s:创建有序节点(最大99亿个节点数据)
-
cZxid 数据节点创建时的事务 ID ctime 据节点创建时的时间 mZxid 数据节点最后一次更新时的事务 ID mtime 数据节点最后一次更新时的时间 pZxid 数据节点的子节点最后一次被修改时的事务 ID cversion 子节点的更改次数 dataVersion 节点数据的更改次数 aclVersion 节点的 ACL 的更改次数 ephemeralOwner 如果节点是临时节点,则表示创建该节点的会话的 dataLength 如果节点是持久节点,则该属性值为 0 numChildren 数据节点当前的子节点个数
-
-e:创建临时节点
-
path:节点名称
-
data:参数数据
-
-s -e:创建有序临时节点
-
/path/path:创建子节点
注:有序节点最大99亿个节点数据,临时节点无法创建子节点
delet删除节点语法:
delete [-v version] path
-
-v:删除节点版本
-
path:节点名称
注:必须删除子节点才能删除父节点,-v的版本必须是dataVersion的数据版本号,防止并发
set修改节点语法:
set [-s] [-v version] path data
-
-s:修改时打印节点信息
-
-v:修改的节点版本
-
path:节点名称
-
data:参数数据
注:-v的版本必须是dataVersion的数据版本号,防止并发
get查询节点语法:
get [-s] path
-
-s:查询时显示数据及信息
-
path:节点名称
ls遍历节点:
ls [-s] [-w] [-R] path
-
-s:遍历时打印节点信息
-
-w:添加监听器
-
-R:遍历节点及节点的字节点
监听返回如下: WATCHER:: WatchedEvent state:SyncConnected type:NodeDataChanged path:/d1
注:添加监听器后对该节点操作后会触发 “watch ”,只会监听一次
stat查看节点状态:
stat path
-
path:节点名称
getAcl获取节点权限:
getAcl [-s] path
-
-s:获取权限时打印节点信息
-
path:节点名称
结果如下:
'world,'anyone
: cdrwa
c:表示create创建权限
d:表达delete删除权限
r:表示read(读取/查询)权限
w:表示write(写入/修改)权限
a:表示admin管理员,用来操作节点权限
setAcl设置节点权限:
setAcl [-s] [-v version] path acl
-
-s:修改权限时打印节点信息
-
-v:修改的权限版本
注:-v的版本号是节点信息aclVersion的权限版本号,防止并发
addauth添加一个权限用户:
addauth scheme auth
-
auth:账号:密码
-
schema:表示的是digest
linux加密器:
echo -n <user>|<password> |openssl dgst -binary -sha1 | openssl base64
授权模式:
明文:setAcl /node auth:”user”:cdwra
密文:setAcl /node digest:”user”:”加密器后password”:cdwra
多授权模式:
setAcl /node world:anyone:cdwra,ip:”addr”:cdwra,auth:”user”:cdwra,digest:”user”:”加密器后password”:cdwra
注:只要有一个权限通过了,则可以访问
超级管理员配置:
利用加密器将llh:123456加密得到乱码
然后进入zkServer.sh文件中搜索noput,
添加一段
-Dzookeeper.DigestAuthenticationProvider.superDigest=super:得到的乱码
重启zookeeper添加addauth digest “llh”:”123456”用户就可以了
指定主机连接:
./zkCli.sh -server host:prot