zookeeper 的使用

一个「分布式系统的大管家」,专门帮多台服务器 / 程序「统一管理配置、协调工作、记录状态」。

ZooKeeper = 分布式系统的共享记事本节点 = 记事本上的一条记录

用途只有 4 个:

  1. 存配置

  2. 看谁在线

  3. 选主(谁当老大)

  4. 分布式锁(大家别抢)

能够查看 zookeeper 服务状态

1. 启动 ZooKeeper

作用

ZooKeeper 本身是一个服务,要先启动,才能用客户端连上去。

命令

bash 复制代码
sudo /usr/share/zookeeper/bin/zkServer.sh start

看到这个就是成功

plain 复制代码
Starting zookeeper ... STARTED

2. 查看服务是否正常

作用

确认服务真的跑起来了,没崩。

命令

bash 复制代码
sudo /usr/share/zookeeper/bin/zkServer.sh status

成功标志

plain 复制代码
Mode: standalone

3. 进入客户端(开始操作 "记事本")

作用

打开 ZooKeeper 的命令行工具,用来增删改查节点

命令

bash 复制代码
/usr/share/zookeeper/bin/zkCli.sh

成功标志

plain 复制代码
[zk: localhost:2181(CONNECTED) 0]

4. 查看根目录有什么(ls = 看目录)

作用

看看记事本里现在有哪些记录(节点)。类似 Linux 的 ls

命令

bash 复制代码
ls /

你会看到

plain 复制代码
[zookeeper]

这是系统自带节点,不用管。

5. 创建节点(最核心:写一条记录)

作用

在记事本里新建一条记录,可以存:

  • 配置信息

  • 服务地址

  • 谁是主节点

  • 状态

命令 1:创建空节点(相当于建个文件夹)

bash 复制代码
create /myapp ""

意义

我要创建一个叫 /myapp 的项目空间。


命令 2:创建带内容的节点(真正存数据)

bash 复制代码
create /myapp/config "db.host=192.168.1.100"

意义

  • 节点:/myapp/config

  • 内容:数据库地址

  • 所有服务器都可以读取这个配置


6. 查看节点里的内容(get = 读记事本)

作用

读取节点里存的配置 / 信息。

命令

bash 复制代码
get /myapp/config

你会看到

plain 复制代码
db.host=192.168.1.100

第一行就是你存的内容。


7. 查看某个节点下有哪些子节点

作用

看看某个目录里有多少条记录。

命令

bash 复制代码
ls /myapp

输出

plain 复制代码
[config]

8. 删除节点(删除一条记录)

作用

  • 配置不用了

  • 服务下线了

  • 锁释放了

删子节点

bash 复制代码
delete /myapp/config

删父节点(必须先删子节点)

bash 复制代码
rmr /myapp

9. 退出客户端

bash 复制代码
quit

10. 停止 ZooKeeper 服务(可选)

bash 复制代码
sudo /usr/share/zookeeper/bin/zkServer.sh stop

总结

  1. 启动zkServer.sh start

  2. 进客户端/usr/share/zookeeper/bin/zkCli.sh

  3. 创建节点create /节点 "内容"

  4. 看内容get /节点

  5. 看列表ls /路径

  6. 删节点delete /节点rmr /节点

  7. 退出quit


  • create = 写一条共享记录

  • get = 读这条共享记录

  • ls = 看看有哪些共享记录

  • delete = 删掉这条共享记录

相关推荐
是Dream呀4 小时前
Harness 工程:让 Agent 真正把任务做完
人工智能·分布式·缓存·agent
yt004yt4 小时前
绿岛数字化平台搭建:VOCs 监测与能碳数据一体化方案
大数据·分布式
天天喝旺仔6 小时前
分布式服务容错实战:用 Sentinel 实现限流、熔断与降级
分布式·微服务·云原生·sentinel
lisanmengmeng8 小时前
分布式追踪与监控:Skywalking(三)
分布式·skywalking
逐流人9 小时前
Containerd容器管理实战:从架构原理到nerdctlcrictl工具链
linux·运维·云原生·容器·云计算·containerd
会周易的程序员17 小时前
5 节点边缘冗余方案(上):基于 aiRaft 的物联网高可用控制面设计
c++·分布式·物联网·raft·iot·共识
运维开发王义杰1 天前
跨项目直连数据库:是架构反模式,还是现实的工程妥协?
云原生
青山木1 天前
RocketMQ 入门到原理(一):整体架构与消息的生命周期
java·分布式·后端·中间件·架构·rocketmq
宋均浩1 天前
告警规则 243 砍到 27:Prometheus 降噪实战,日均打扰 47 次 → 3 次
云原生·监控·devops