全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-24 8 分钟 ✍️ juanwangdev

ZooKeeper节点操作命令

掌握节点CRUD操作是使用ZooKeeper的基本技能。

节点数据读写操作

创建节点

Bash
# 创建持久节点
create /app/config "database_url"

# 创建临时节点
create -e /services/instance "192.168.1.100:8080"

# 创建顺序节点
create -s /queue/task- "task_data"
create -e -s /locks/lock- "owner_id"

创建命令格式

Bash
create [-s] [-e] path data [acl]
-s: 顺序节点
-e: 临时节点
path: 节点路径(必须以/开头)
data: 节点数据
acl: 访问权限(可选)

读取节点数据

Bash
# 基本读取
get /app/config
# 输出: database_url

# 读取并显示状态
get -s /app/config
# 输出数据和状态信息
dataVersion = 1
czxid = 0x100
...

修改节点数据

Bash
# 直接修改
set /app/config "new_database_url"

# 指定版本号修改(乐观锁)
set /app/config "updated_url" 1
# 版本号必须匹配当前版本

删除节点

Bash
# 删除节点(无子节点)
delete /app/config

# 指定版本号删除
delete /app/config 2

# 递归删除(包含子节点)
deleteall /app

操作总结

命令作用
create创建节点
get读取数据
set修改数据
delete删除节点
deleteall递归删除

注意:delete只能删除无子节点的节点,有子节点需用deleteall。

节点子列表查询

查看子节点

Bash
# 查看子节点列表
ls /app
# 输出: [config, services]

# 查看子节点和状态
ls2 /app
# 输出子节点列表和父节点状态

递归查询

Bash
# 递归列出所有子节点
ls -R /app
# 输出:
/app
/app/config
/app/config/db
/app/services

路径操作技巧

命令说明
ls /查看根节点
ls -R /递归查看全部节点
ls2 path查看子节点+状态

查询示例

Bash
# 服务发现场景
ls /services/order
# 输出: [instance-0001, instance-0002]

# 获取具体实例地址
get /services/order/instance-0001
# 输出: 192.168.1.100:8080

检查节点存在

text
# 查看节点状态(存在则返回状态)
stat /app/config

# 不存在则报错
stat /app/notexist
# 输出: Node does not exist

命令对比

命令输出内容
ls仅子节点名称
ls2子节点+父节点状态
get节点数据
get -s数据+状态
stat仅状态信息

提示:ls2等同于ls+stat的组合。

要点总结

  • create支持-s顺序、-e临时节点
  • get -s显示数据加状态信息
  • set可指定版本号实现乐观锁
  • delete删除无子节点,deleteall递归删除
  • ls查看子节点列表,ls -R递归查询
  • stat检查节点是否存在

📝 发现内容有误?点击此处直接编辑

← 上一篇 ZooKeeper集群部署指南
下一篇 → ZooKeeper节点类型详解
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库