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

相关推荐
阿里云云原生1 天前
香港站【企业 AI Agent 工程化实战专场】来啦,邀您7月9日见!
云原生·agent
阿里云云原生1 天前
研发域与运维域的“数字握手”:通过 Agentic Skills 实现 DevOps 全链路自动化
云原生
阿里云云原生5 天前
AI 开发新常态:当 Cursor、Claude、Codex 并行,如何统一管理散落的 Skill 资产?
云原生·ai编程
探索云原生5 天前
K8s 1.36 这个 GA 特性,把 initContainer 拉模型的 hack 干掉了
ai·云原生·kubernetes
Java之美5 天前
从edge-trigger到level-trigger,谈谈 Kubernetes controller 的开发范式
云原生
阿里云云原生6 天前
深度解构:当 Append-only 的 SLS 遇上 Update/Delete,是如何实现设计权衡的?
云原生
Java之美6 天前
一次k8s升级引发的DevicePlugin注册失败
云原生·kubernetes
秋播6 天前
nerdctl推送rancher本地镜像到harbor
云原生
阿里云云原生7 天前
告别冗长链路!Kafka × Table Bucket 实现开放表格式零 ETL 实时入湖
云原生·kafka
SelectDB8 天前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生