【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 文件备份,以便出现异常时回滚。

相关推荐
LT10157974441 小时前
2026年云原生RPA选型指南:云端协同与弹性部署适配
云原生·rpa
姚不倒2 小时前
Go 语言基础入门:从零到实战,一篇文章掌握核心语法
云原生·golang
nan madol3 小时前
openEuler部署 Kubernetes v1.35.5 集群
云原生·容器·kubernetes
木雷坞3 小时前
K8s containerd 镜像源配置:用 1ms-helper 处理 ImagePullBackOff
云原生·容器·kubernetes
山屿落星辰3 小时前
hixl - 让分布式训练“零拷贝“通信
分布式
米高梅狮子5 小时前
03.OpenStack使用
linux·前端·云原生·容器·架构·kubernetes·openstack
逍遥德5 小时前
SpringBoot自带TaskScheduler 接口使用详解:(02)微服务多实例模式下,爆发任务重复执行问题
spring boot·分布式·后端·微服务·中间件
STDD6 小时前
KEDA:Kubernetes 事件驱动自动扩缩容
云原生·容器·kubernetes
weixin_408318046 小时前
企业级直播平台技术选型与成本分析:三种方案架构对比
微服务·云原生·架构
珂玥c6 小时前
k8s集群高可用的碎碎念
云原生·容器·kubernetes