1命令
登录
zkCli.sh -server 192.168.58.81:2128 登录ip
zkCli.sh 登录本机
关闭会话 close
帮助文档 help
让zk数据发生变化都是一次事务
create创建
create /aaa 创建持久节点
create -e /aaa/bbb 创建临时节点
create /aaa/bbb/ccc 不能创建成功 因为bbb是临时节点
create -s /aaa/bbb 可以多次执行 create -s /aaa/bbb 创建有序节点
create -e -s /aaa/bbb
ls /aaa 查看
ls -R /aaa 递归查看
ls -s /aaa 查看节点详情 == get -s /aaa
quit 退出 zkCli.sh 在连接上查看节点发现临时节点没了
ls -s /aaa
mzxid 更新id mtime更新时间
dataVersion 版本修改次数
ephemeralOwner = 0x0都是持久化
创建临时节点再查看临时节点
ephemeralOwner = 0xasgagaar 有临时
ls -w /aaa 监控节点 另一个窗口create /aaa/bbb(只监控一次)如何长期监控?
第一个窗口
WATCHER::
WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/aaa
set /aaa hellow
get /aaa
get -s /aaa 查看节点详情=ls -s /aaa
get -s /aaa比ls -s /aaa 查出的结果就多一个节点值
zk-1 zk-2
get -w /aaa set /aaa hellow 只监控一次 (省资源 )
ls -w /aaa create /aaa/wowo 只监控一次(省资源 )
设置节点值
get -s /aaa 节点
set -v (dataVersion版本号) /aaa 节点值
验证版本号并删除节点
delete -v (dataVersion版本号) /aaa
不验证节点直接删除节点
delete /aaa/wowo
删除路径及所有子节点
deleteall /aaa
stat查看节点的状态
stat /aaa
2 zk权限控制
acl格式:
授权策略 对象 权限
world anyone r=read 可以查看
ip ip w=write 可以改变
auth 用户 c=create 可以创建子节点
digest d=delete 可以删除
a=admin 管理员 权限管理
/aaa 根目录下主节点
world 全部
getAcl /aaa 获取aaa权限信息
setAcl /aaa world:anyone:cdwra 设置aaa权限信息
c 创建节点 create /aaa/bbb
d 删除 delete /aaa/bbb
w 写 set /aaa niganma
r 读 查看节点 ls -s /aaa
a 管理员权限 这个一取消,啥也干不了了
不要那个权限就不加那个权限:
不要创建权限 setAcl /aaa world:anyone:cdwra
IP
设置ip才能对aaa操作 只有用这个ip且本机ip是这个ip登录,才能操作
setAcl /aaa ip:192.168.58.82:crdwa
auth 用户
用户:密码
addauth digest user:liu 添加用户密码
setAcl /aaa auth:user:cdwra 把aaa节点权限给用户
get /aaa 查不出
quit退出 再连接(登录)进去
addauth digest user:liu1 密码或者账号输错
get /aaa 查不出
addauth digest user:liu 认证密码账号正确
get /aaa 能查出
digest
1
create /bbb 66 world: anyone: crwa 创建节点并赋值,改权限
get /bbb 查值
getAcl /bbb 查权限
2
认证用户
addauth digest user:liu
create /ccc 66 auth:user1:crwad 创建节点并赋值并把这个节点权限给user用户
退出后还得认证addauth digest user:liu 才可以
3 控制zk中每个节点访问权限(每个权限控制只对当前节点有效)
setAcl /aaa worle:anyone:a 只有aaa是这个权限,子节点还是原来的权限
递归赋权
setAcl -R /aaa worle:anyone:a aaa下的节点都是这个权限
4 sertquota
三个配额
setquota -n 3 /aaa aaa节点下再创建两个(包含本身节点的话是三个)节点后会有警报,但是还能继续创建
listquota /aaa 查配额
另一个窗口
tail -f /usr/zookeeper/logs/zookeeper-root-server-cluster1.out