Zookeeper基础命令

发布时间 2023-08-03 23:13:45作者: 天晴修屋顶

一、 事件监听

在 ZooKeeper 中,可以通过注册事件监听器来监视 ZNode 的状态变化和节点的子节点变化

1. stat -w path

1 # NodeCreated 创建
2 # NodeDataChanged 修改
3 # NodeDeleted 删除
4  stat -w path

2. ls -w paht

1 # NodeDeleted 删除
2   ls -w path

3. get -w /node

1 get -w /node
2 # NodeDataChanged 修改
3 set /node change
4 # NodeDeleted 删除
5 delete /node

二、权限命令

1. 新增/登录用户

1 # addauth digest 账号:密码
2 addauth digest test:test

2. 创建节点时指定权限

1 # create path value [acl]
2 #[acl]--> auth::crwda,登录状态下的简写
3 #crwda--> create, read, write, delete, admin
4 create /acl-node ddd auth::crwda

ACL构成:

[schema: id : permissions]

schema 权限机制

  • world: 配置下只有一个id,就是anyone,组合写法:[world: anyone : permissions]

  • auth: 认证登录,需要有一个注册的用户 ,格式: auth:user:password:permissions

  • digest: 和auth是差不多的,但是在设置密码的时候必须是密文. Base64(sha1(password))

          比如:create /acl-node ddddssss digest:test:xBgKhNNC8TTZv/YLTAC801hGjzs=:cdrwa

  • ip: 进行IP的访问限制 ,格式: ip:ip地址:权限

  • super: 超级管理员.

cdrwa: 【permissions】

ip为例

1 [zk: localhost:2181(CONNECTED) 12] create /acl-node test ip:127.0.0.1:cdrwa
2 Created /acl-node
3 [zk: localhost:2181(CONNECTED) 13] getAcl /acl-node
4 'ip,'127.0.0.1
5 : cdrwa

使用另一台服务器访问

1 [zk: localhost:2181(CONNECTED) 5] ls /
2 [acl-node, node, test, zookeeper]
3 [zk: localhost:2181(CONNECTED) 6] get /acl-node
4 Insufficient permission : /acl-node

 

3. 查看节点权限

1 getAcl /acl-node
#输出:
2 'digest,'mike:xBgKhNNC8TTZv/YLTAC801hGjzs= 3 : cdrwa

4. 修改权限

1 setAcl /acl-node world:anyone:cdrwa