【CDH】CDH环境中升级ZooKeeper的实战记录

CDH环境中升级ZooKeeper的实战记录

一、升级背景

在部署 DolphinScheduler 3.1.9 过程中,因 CDH 默认提供的 ZooKeeper 版本为 3.4.5-cdh6.3.2,过低导致 DolphinScheduler 无法正常安装。因此,需要将 ZooKeeper 升级至更高版本以满足兼容性要求。


二、下载 ZooKeeper 3.8.1 并解压

bash 复制代码
# 下载 ZooKeeper 安装包
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1-bin.tar.gz

# 解压缩
tar -xzvf apache-zookeeper-3.8.1-bin.tar.gz

三、下载 Cloudera 兼容版本的 ZooKeeper Jar 包

mvnrepository.com 下载对应的 Cloudera 版本的 jar 文件。此处使用版本号为 3.8.1.7.1.9.0-387

将下载好的 jar 文件拷贝至每个 CDH 容器节点中:

bash 复制代码
# 上传至各容器
docker cp zookeeper-3.8.1.7.1.9.0-387.jar cm.hadoop:/opt
docker cp zookeeper-3.8.1.7.1.9.0-387.jar cdh01.hadoop:/opt
docker cp zookeeper-3.8.1.7.1.9.0-387.jar cdh02.hadoop:/opt

四、替换 CDH 默认的 ZooKeeper Jar 包

进入对应容器,并备份、替换旧版本 jar 文件:

bash 复制代码
# 切换至 CDH jar 包目录
cd /opt/cloudera/parcels/CDH/lib/zookeeper/lib/

# 备份旧版 jar 文件
cp zookeeper-3.4.5-cdh6.3.2.jar zookeeper-3.4.5-cdh6.3.2.jar.bak

# 替换为新版本 jar
cp /opt/zookeeper-3.8.1.7.1.9.0-387.jar ./zookeeper-3.4.5-cdh6.3.2.jar

注意:执行 cp 时如提示是否覆盖,输入 y 确认。


五、拷贝新版 ZooKeeper 的 lib 依赖包

将解压后的 apache-zookeeper-3.8.1-bin/lib 目录下的所有 jar 包复制至 CDH 的 lib/zookeeper/lib/ 目录中,用于替换旧依赖或补充缺失的依赖:

bash 复制代码
# 复制所有依赖文件到 CDH zookeeper lib 目录
cp /opt/apache-zookeeper-3.8.1-bin/lib/* /opt/cloudera/parcels/CDH/lib/zookeeper/lib/

六、后续操作建议

  1. 重启相关服务:升级完成后需重启 ZooKeeper 服务及依赖其通信的组件(如 HDFS、YARN、DolphinScheduler 等)。
  2. 兼容性验证 :确保新版本 ZooKeeper 能正常启动,并通过 zkCli.sh 等工具验证连接。
  3. 备份回退方案:保留旧版本 jar 及 lib 文件备份,以便出现异常时回滚。

相关推荐
j***57688 小时前
【分布式文件存储系统Minio】2024.12保姆级教程
分布式
敲上瘾9 小时前
【探索实战】:Kurator分布式统一应用分发平台的全面解析与实践指南
分布式·容器·kubernetes·serverless
喵手18 小时前
云端智变:基于 DevUI 与 MateChat 打造下一代云原生智能运维中台实战教学!
运维·云原生·devui·matechat
Connie145120 小时前
记一次K8s故障告警排查(Grafna告警排查)
云原生·容器·kubernetes·grafana
0***R5151 天前
前端云原生
前端·云原生
SuperHeroWu71 天前
【HarmonyOS 6】UIAbility跨设备连接详解(分布式软总线运用)
分布式·华为·harmonyos·鸿蒙·连接·分布式协同·跨设备链接
杜子不疼.1 天前
【探索实战】从0到1打造分布式云原生平台:Kurator全栈实践指南
分布式·云原生
settingsun12251 天前
分布式系统架构:百万并发系统设计
云原生·架构·分布式系统
m***l1151 天前
集成RabbitMQ+MQ常用操作
分布式·rabbitmq
会飞的小蛮猪1 天前
Ubuntu24.04 基于Containerd部署K8s1.34(私服部署)
docker·云原生·kubernetes