怎样升级Ubuntu上的Hadoop
导读:Ubuntu上升级Hadoop的可执行方案 一 升级方式与前置检查 方式选择 使用 APT 包管理升级(系统级安装):适合通过 .deb 包部署的集群,升级简单、可回滚,推荐在 Ubuntu 上使用。 使用 二进制包原地升级(tar 包...
Ubuntu上升级Hadoop的可执行方案
一 升级方式与前置检查
- 方式选择
- 使用 APT 包管理升级(系统级安装):适合通过 .deb 包部署的集群,升级简单、可回滚,推荐在 Ubuntu 上使用。
- 使用 二进制包原地升级(tar 包部署):适合解压即用的安装方式,可控性强,需手工替换并迁移配置。
- 前置检查
- 查看当前版本:
hadoop version,确认升级前后版本跨度与兼容性。 - 备份关键数据:至少备份 HDFS 元数据目录(dfs.namenode.name.dir) 与 配置文件(etc/hadoop),必要时全量备份重要数据目录。
- 规划停机窗口与回滚方案:确认可停机时间、回滚触发条件与步骤。
- 依赖与兼容性:核对 JDK 版本 与新版本 Hadoop 的要求(如 Hadoop 3.x 支持 JDK 8/11),并梳理生态组件(Hive、Spark、HBase 等)的兼容矩阵。
- 查看当前版本:
二 方式A 使用APT在Ubuntu上升级(推荐)
- 同步升级所有 Hadoop 相关包(避免部分升级导致不一致)
- 示例:
sudo apt-get install < package_name1> < package_name2> ... - 若使用 Cloudera/Hortonworks 等发行版,请使用其仓库与工具(如
apt-get update & & apt-get install hadoop对应角色包)。
- 示例:
- 升级后验证
- 执行
hadoop version确认新版本生效。 - 启动服务(如使用 systemd 则
sudo systemctl start hadoop-...,或沿用$HADOOP_HOME/sbin/start-*.sh)。 - 运行基本健康检查:
hdfs dfsadmin -report、yarn node -list,并做小文件读写冒烟测试。
- 执行
三 方式B 二进制包原地升级(tar 包)
- 准备与停机
- 备份:
cp -r $HADOOP_HOME/etc/hadoop /backup/hadoop_conf_$(date +%F);如有 NameNode 本地元数据目录,也请备份。 - 停止:
$HADOOP_HOME/sbin/stop-dfs.sh与$HADOOP_HOME/sbin/stop-yarn.sh(或stop-all.sh)。
- 备份:
- 部署新版本
- 下载并解压新版本到临时目录,例如:
tar -xzvf hadoop-3.x.y.tar.gz -C /opt/ - 方案A(替换安装目录):将旧目录重命名备份,新目录软链为
$HADOOP_HOME,如:mv $HADOOP_HOME $HADOOP_HOME.bak-$(date +%F)ln -s /opt/hadoop-3.x.y $HADOOP_HOME
- 方案B(并行安装):保留旧目录,仅调整
$HADOOP_HOME指向新目录。
- 下载并解压新版本到临时目录,例如:
- 迁移与调整配置
- 恢复配置:
cp -r /backup/hadoop_conf_*/etc/hadoop/* $HADOOP_HOME/etc/hadoop/ - 按需更新
hadoop-env.sh、core-site.xml、hdfs-site.xml、yarn-site.xml等(新版本可能新增/废弃参数)。 - 检查环境变量:
echo $HADOOP_HOME $JAVA_HOME $PATH,必要时在~/.bashrc或/etc/profile.d/hadoop.sh中修正并source生效。
- 恢复配置:
- 启动与升级 HDFS 元数据
- 启动 NameNode 进入升级流程:
$HADOOP_HOME/sbin/start-dfs.sh -upgrade - 观察升级进度:
hdfs dfsadmin -upgradeProgress status(必要时details/force)。 - 验证通过后执行定版:
hdfs dfsadmin -finalizeUpgrade(一旦定版将不可回滚,务必确认稳定)。 - 如需回滚(定版前):
$HADOOP_HOME/sbin/start-dfs.sh -rollback。
- 启动 NameNode 进入升级流程:
- 启动 YARN 并验证
$HADOOP_HOME/sbin/start-yarn.sh- 执行健康检查与冒烟测试(如
hdfs dfs -ls /、yarn application -list)。
四 升级后验证与回滚策略
- 快速验证清单
- 版本:
hadoop version - HDFS:
hdfs dfsadmin -report、hdfs dfs -test -d /、hdfs dfs -put/get小文件 - YARN:
yarn node -list、yarn application -list,提交示例作业(如pi或wordcount) - 日志:检查 NameNode/DataNode/ResourceManager/NodeManager 日志无异常
- 版本:
- 回滚与应急
- APT 场景:使用包管理器回退版本(如
sudo apt-get install hadoop=< old_version>),并恢复配置与数据目录。 - 二进制场景:
- 未完成定版:使用
-rollback回到旧版本(需先停集群,再以升级方式启动旧版本)。 - 已定版:从备份恢复 NameNode 元数据目录 与 配置文件,再重启集群。
- 未完成定版:使用
- APT 场景:使用包管理器回退版本(如
五 常见问题与注意事项
- 配置与兼容性
- 新版本可能调整默认端口、参数与依赖版本(如 Guava/Protobuf/SLF4J 等),需对照官方发行说明逐项校验,避免运行时冲突。
- 升级顺序与依赖
- 先升级 HDFS(必要时执行
-upgrade与-finalizeUpgrade),再升级 YARN 与生态组件;确保客户端、调度器、计算框架版本匹配。
- 先升级 HDFS(必要时执行
- 安全与权限
- 启用 Kerberos 的环境需确保 keytab 与新版本兼容,并在升级窗口内完成 kinit 与权限校验。
- 监控与告警
- 升级期间加强 NameNode/DataNode 与 YARN 监控,关注 Block 报告、容量使用、GC 时间、作业失败率 等关键指标。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样升级Ubuntu上的Hadoop
本文地址: https://pptw.com/jishu/780318.html
