一、Zookeeper的四字命令

Zookeeper支持某些特定的四字命令字母与其的交互。他们大多数是查询命令,用来获取Zookeeper服务的当前状态及相关信息。用户在客户端可以通过telnet或nc向Zookeeper提交相应的命令。

1563161762556.png

使用命令:

echo ruok|nc localhost 2181

Zookeeper命令工具

再启动Zookeeper服务之后,输入以下命令,连接到Zookeeper服务:

zkCli.sh [-server localhost:2181]

常用命令:

  • create命令

    create [-s] [-e] path data [acl]

    -s: 创建顺序节点

    -e: 创建临时节点

    path: 在哪里创建

    data: 给这个创建的节点添加的数据

    acl: 创建节点的权限

    键入: create /myzk myzk-data

权限模式 Schema

常用的权限模式如下:

IP

IP: 使用 IP 识别用户,可以精确匹配 IP,也可以匹配到 IP 段

  • ip:168.192.1.23 :精确匹配到 IP
  • ip:168.192.0.1/24:模糊匹配 IP 段,168.192.0.*

Note: IP 地址是 32 位,十进制表示 4 个十进制;IP 段,表示前面多少位相同。

Digest

Digest,类似 username:password,用户名和密码。

设置 ACL

#使用命令生成密钥 密码123456对应下面的密文
echo -n root:123456 | openssl dgst -binary -sha1 | openssl base64
# root:u53OoA8hprX59uwFsvQBS3QuI00
setAcl /zk digest:root:u53OoA8hprX59uwFsvQBS3QuI00=:cdrwa

访问时需要先增加权限

addauth digest user:user
World

没有密码,对所有用户都开放权限。可以看作特殊的 Digest 模式。

Super

只有超级用户,才有权限,也可看作特殊的 Digest 模式。

ZK 中 ACL 特性

ZK 中 ACL 特性:

  1. 无继承性:子节点,不会继承父节点的 ACL;
  2. Client 仍可以访问子节点,即使不可以访问父节点;
上次更新时间: 2024/5/7 05:59:02