文章目录
- 从启动脚本开始分析
- ZooKeeper启动脚本 `zkServer.sh` 分析
- 1. 脚本位置
- 2. 脚本结构
- 3. 主要部分
- 3.1 检测环境变量
- 3.2 加载配置文件
- 3.3 设置环境变量
- 3.4 日志配置
- 3.5 启动和停止命令
- 3.6 启动ZooKeeper
- 3.7 停止ZooKeeper
- 4. 其他功能
- 5. 调用方式
- 总结
- ZooKeeper的 QuorumPeerMain启动时的基本流程
- 1. 解析命令行参数
- 2. 初始化配置
- 3. 创建 QuorumPeer 实例
- 4. 配置日志
- 5. 启动 ZooKeeper 服务器
- 6. 创建 ServerCnxnFactory 实例
- 7. 开始监听客户端连接
- 8. 启动选举协议
- 9. 数据恢复
- 10. 开始接受客户端请求
- 11. 运行状态监控
- 12. 日志记录
- 13. 响应客户端请求
- 14. 停止服务器
- 示例代码片段
- 总结
- 使用集群模式启动Zookeeper的时候,QuorumPeer的作用
- QuorumPeer 的职责
- QuorumPeer 的工作原理
- 示例代码
- 总结
从启动脚本开始分析
ZooKeeper 是一个分布式协调服务,用于维护配置信息、命名、提供分布式同步以及提供组服务。ZooKeeper 的启动脚本 zkServer.sh
是用来启动和停止 ZooKeeper 服务器的。下面我们将分析 zkServer.sh
脚本的主要组成部分及其功能。
ZooKeeper启动脚本 zkServer.sh
分析
1. 脚本位置
- ZooKeeper 的启动脚本通常位于安装目录的
bin
文件夹下,例如/opt/zookeeper/bin/zkServer.sh
。
2. 脚本结构
zkServer.sh
是一个 Bash 脚本,包含了启动、停止和检查 ZooKeeper 服务的功能。
3. 主要部分
3.1 检测环境变量
- 脚本首先检测环境变量
ZOOKEEPER_HOME
是否设置,如果未设置,则使用脚本所在的目录作为ZOOKEEPER_HOME
。# Determine the ZooKeeper 'home' directory. if [