Ubuntu上升级Zookeeper版本的详细步骤
升级前的备份和检查是避免数据丢失的关键,需完成以下操作:
/var/lib/zookeeper)和配置目录(默认/etc/zookeeper)到备份路径,例如:sudo cp -R /var/lib/zookeeper /var/lib/zookeeper-backup
sudo cp -R /etc/zookeeper /etc/zookeeper-backup
zkCli.sh工具):/usr/share/zookeeper/bin/zkServer.sh status | grep "Version"
或直接查看进程信息:ps aux | grep zookeeper | grep -v grep
使用systemctl命令安全停止正在运行的Zookeeper服务:
sudo systemctl stop zookeeper
等待服务完全停止(可通过ps aux | grep zookeeper确认无残留进程)。
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz
/opt目录(常用软件安装路径):sudo tar -xzf apache-zookeeper-3.7.1-bin.tar.gz -C /opt
data目录移动到标准路径:sudo mv /var/lib/zookeeper /var/lib/zookeeper-old
sudo mv /opt/apache-zookeeper-3.7.1-bin/data /var/lib/zookeeper
/opt/apache-zookeeper-3.7.1-bin/conf/zoo.cfg与现有/etc/zookeeper/conf/zoo.cfg,检查是否有新增配置项(如autopurge.snapRetainCount、autopurge.purgeInterval等),如有则合并到现有配置中。使用systemctl启动升级后的Zookeeper服务:
sudo systemctl start zookeeper
立即检查服务状态,确认是否正常启动:
sudo systemctl status zookeeper
若状态显示为active (running),则说明服务已启动。
通过ZooKeeper客户端命令验证版本和功能:
echo stat | nc localhost 2181
预期输出应包含新版本号(如Znode version: 3.7.1),且无报错信息。
确认升级成功且服务稳定后,可删除旧版本的安装包和备份数据(谨慎操作):
sudo rm -rf /opt/apache-zookeeper-*-bin.tar.gz
sudo rm -rf /var/lib/zookeeper-old