在CentOS上更新Zookeeper需注意以下关键事项:
- 数据备份:提前备份数据目录(如
/var/lib/zookeeper)和配置文件(如/etc/zookeeper/conf/zoo.cfg),防止升级失败导致数据丢失。 - 版本兼容性:
- 确认新版本与当前JDK版本的兼容性(如ZooKeeper 3.5+需JDK 8+)。
- 若为跨大版本升级,需通过中间过渡版本分阶段升级,避免协议不兼容。
- 配置文件校验:更新
zoo.cfg中的路径(如dataDir、clientPort)、集群节点信息等,确保语法正确。 - 服务停止与启动:
- 停止旧版本服务:
systemctl stop zookeeper。 - 替换二进制文件后,重新加载配置并启动服务:
systemctl daemon-reload && systemctl start zookeeper。
- 停止旧版本服务:
- 集群升级策略:
- 滚动升级:逐个节点停止、升级、启动,确保集群多数节点可用,避免服务中断。
- 验证节点状态:通过
echo mntr | nc <节点IP> 2181检查节点是否正常加入集群。
- 功能与性能测试:
- 验证基础操作(如创建节点、读写数据)是否正常。
- 检查日志文件(如
/var/log/zookeeper/zookeeper.out),确保无错误。
- 防火墙与端口:确保Zookeeper端口(如2181、2888、3888)在防火墙中开放。
- 回滚计划:若升级后出现数据不一致或服务异常,需立即回滚至旧版本,确保全集群版本一致。
参考来源: