一个「分布式系统的大管家」,专门帮多台服务器 / 程序「统一管理配置、协调工作、记录状态」。
ZooKeeper = 分布式系统的共享记事本节点 = 记事本上的一条记录
用途只有 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
总结
-
启动 :
zkServer.sh start -
进客户端 :
/usr/share/zookeeper/bin/zkCli.sh -
创建节点 :
create /节点 "内容" -
看内容 :
get /节点 -
看列表 :
ls /路径 -
删节点 :
delete /节点或rmr /节点 -
退出 :
quit
-
create = 写一条共享记录
-
get = 读这条共享记录
-
ls = 看看有哪些共享记录
-
delete = 删掉这条共享记录