zookeeper常用命令
1.5.1 连接到 ZooKeeper 服务器
# 连接到本地 ZooKeeper 服务器
# 先进入ZooKeeper容器:docker exec -it zookeeper bash
bin/zkCli.sh -server localhost:2181
1.5.2 基本命令
1.5.2.1 查看帮助
help
1.5.2.2 列出子节点
ls /
1.5.3 ZNode 操作
1.5.3.1 创建 ZNode
# 创建持久性 ZNode
create /my_node "Hello, ZooKeeper"# 创建临时性 ZNode
create -e /my_ephemeral_node "This is an ephemeral node"# 创建有序 ZNode
create -s /my_sequential_node "This is a sequential node"
1.5.3.2 获取 ZNode 数据
get /my_node
1.5.3.3 设置 ZNode 数据
set /my_node "New data"
1.5.3.4 删除 ZNode
delete /my_node
1.5.3.5 递归删除 ZNode
deleteall /my_node
1.5.4 监视(Watcher)
watcher事件类型:
EventType | 触发条件 |
---|---|
NodeCreated | 节点创建 |
NodeDeleted | 节点删除 |
NodeDataChanged | 节点数据修改 |
NodeChildrenChanged | 子节点变更 |
Watcher事件处理:
当 ZooKeeper 服务器触发 Watcher 事件时,客户端的 Watcher 实现类中的 process
方法会被调用,并传递一个 WatchedEvent
对象。WatchedEvent
对象包含了事件类型、会话状态和路径信息。
1.5.4.1 设置数据监视
get /my_node true
1.5.5 其他命令
1.5.5.1 查看 ZNode 状态
stat /my_node
1.5.5.2 查看 ZNode 的子节点
ls /my_node
1.5.5.3 查看 ZNode 的 ACL(Access Control List,访问控制列表)
身份(Scheme):
world
:表示任何人都可以执行操作,它只有一个身份anyone
。auth
:表示只有通过身份验证的用户可以执行操作。digest
:表示使用 digest 算法来验证用户的身份,格式为username:base64encodedhash
。ip
:表示使用 IP 地址来验证用户的身份,格式为ip:address/bits
。super
:表示只有超级用户可以执行操作。superuser
:表示只有超级用户可以执行操作。
权限位:
CREATE
(c):允许创建子节点。READ
(r):允许读取节点数据和子节点列表。WRITE
(w):允许设置节点数据。DELETE
(d):允许删除子节点。ADMIN
(a):允许设置 ACL。
getAcl /my_node
1.5.5.4 设置 ZNode 的 ACL
setAcl /my_node world:anyone:rwcda