目录

  1. 客户端连接
  2. 基础命令概览
  3. 常用命令详解与示例
  4. 命令行技巧
  5. 参考资料

客户端连接

ZooKeeper 提供了一个交互式命令行客户端工具 zkCli.sh,用于连接服务并执行操作。

连接方法

  1. 单机连接
   zkCli.sh -server localhost:2181
  • 默认端口为 2181。
  1. 集群连接
   zkCli.sh -server 192.168.1.101:2181,192.168.1.102:2181,192.168.1.103:2181
  • 用逗号分隔多个服务器地址。
  1. 指定超时(可选)
   zkCli.sh -timeout 5000 -server localhost:2181
  • -timeout 以毫秒为单位设置会话超时。

连接成功后,进入交互模式,提示符为 [zk: ...]


基础命令概览

以下是 ZooKeeper 客户端支持的主要命令类别:

  • 创建节点create
  • 读取数据lsgetstat
  • 修改数据set
  • 删除节点deletermr
  • 其他helpquit

常用命令详解与示例

以下是常用命令的详细说明和示例。

1. 创建节点 (create)

  • 语法create [-s] [-e] [-c] [-t ttl] path data [acl]
  • 选项
  • -s:顺序节点。
  • -e:临时节点。
  • -c:容器节点(3.5.3+)。
  • -t ttl:设置 TTL(3.6.0+,需配置支持)。

示例

create /myNode "Hello ZooKeeper"  # 创建持久节点
create -e /tempNode "temp data"   # 创建临时节点
create -s /seqNode "seq data"     # 创建顺序节点

输出:

Created /myNode
Created /tempNode
Created /seqNode0000000001

2. 列出子节点 (ls)

  • 语法ls [-w] path
  • 选项-w 添加 Watcher 监听子节点变化。

示例

ls /

输出(假设已创建上述节点):

[myNode, tempNode, seqNode0000000001]

3. 获取节点数据 (get)

  • 语法get [-w] path
  • 选项-w 添加 Watcher 监听数据变化。

示例

get /myNode

输出:

Hello ZooKeeper
[元数据信息]

4. 查看节点状态 (stat)

  • 语法stat path
  • 功能:显示节点元数据,不返回数据内容。

示例

stat /myNode

输出:

cZxid = 0x100000002
ctime = Wed Mar 28 10:00:00 UTC 2025
mZxid = 0x100000002
mtime = Wed Mar 28 10:00:00 UTC 2025
pZxid = 0x100000002
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 14
numChildren = 0

5. 修改节点数据 (set)

  • 语法set path data [version]
  • 参数version 用于乐观锁,需匹配当前版本。

示例

set /myNode "Updated Data"
get /myNode

输出:

Updated Data

6. 删除节点 (delete)

  • 语法delete path [version]
  • 限制:只能删除无子节点的节点。

示例

delete /myNode

7. 递归删除 (rmr)

  • 语法rmr path
  • 功能:删除节点及其所有子节点(已废弃,推荐 deleteall)。

示例

create /parent/child "child data"
rmr /parent
ls /

输出:/parent 已删除。

8. 查看帮助 (help)

  • 语法help
  • 功能:列出所有可用命令。

示例

help

命令行技巧

  1. 自动补全
    在交互模式下,按 Tab 键可补全命令或路径。
  2. 查看历史命令
    使用上下箭头键切换历史输入。
  3. 批量操作
    将命令写入脚本文件(如 commands.txt),然后运行:
   zkCli.sh -server localhost:2181 < commands.txt
  1. 退出客户端
   quit
  1. 监控 Watcher 事件
    使用 -w 参数添加 Watcher,事件触发时会显示通知。例如:
   ls -w /

创建新节点时,客户端会收到通知。


参考资料


这是 ZooKeeper 客户端基础命令的完整使用指南,涵盖了创建、读取、修改和删除操作。如果您需要更复杂的命令组合或特定场景的示例,请告诉我!