如何升级Ubuntu上的Hadoop版本
导读:Ubuntu上升级 Hadoop 的实操指南 一 升级策略与前置检查 明确升级路径:先确认当前版本与目标版本,评估是小版本升级还是跨大版本升级。跨大版本通常涉及HDFS 元数据与数据目录格式变化,需要按 HDFS 升级流程执行。 选择升级...
Ubuntu上升级 Hadoop 的实操指南
一 升级策略与前置检查
- 明确升级路径:先确认当前版本与目标版本,评估是小版本升级还是跨大版本升级。跨大版本通常涉及HDFS 元数据与数据目录格式变化,需要按 HDFS 升级流程执行。
- 选择升级方式:
- 停机升级:简单可控,适合大多数场景。
- 滚动升级 Rolling Upgrade:在部分版本/发行包中支持,可在不中断服务的情况下完成升级,需提前验证兼容性并准备回滚方案。
- 完整备份与验证:
- 备份NameNode 元数据目录(dfs.namenode.name.dir)、DataNode 数据目录(dfs.datanode.data.dir)与关键配置文件(etc/hadoop)。
- 在测试/预演环境验证新版本与现有作业、权限、Hive/HBase 等生态的兼容性。
- 规划回滚:保留旧安装目录与备份,确认回滚触发条件与步骤,缩短恢复时间。
二 停机升级步骤(通用且最稳妥)
- 检查当前版本与环境
- 查看版本:
hadoop version - 核对环境变量:
echo $HADOOP_HOME、echo $JAVA_HOME
- 查看版本:
- 停止集群
- 全部停止:
$HADOOP_HOME/sbin/stop-all.sh - 或分别停止:
$HADOOP_HOME/sbin/stop-dfs.sh、$HADOOP_HOME/sbin/stop-yarn.sh
- 全部停止:
- 备份
- 配置:
cp -r $HADOOP_HOME/etc/hadoop /backup/hadoop_config_$(date +%F) - 数据与元数据:按实际目录备份(如 dfs.namenode.name.dir、dfs.datanode.data.dir 指向的路径)
- 配置:
- 安装新版本
- 下载并解压:
tar -xzvf hadoop-< new-version> .tar.gz -C /opt - 替换或重命名安装目录(保持同一安装前缀便于回滚):
- 方式A:
mv $HADOOP_HOME $HADOOP_HOME.bak-$(date +%F)后ln -s /opt/hadoop-< new-version> $HADOOP_HOME - 方式B:
rm -rf $HADOOP_HOME/* & & mv /opt/hadoop-< new-version> /* $HADOOP_HOME/
- 方式A:
- 下载并解压:
- 同步与修订配置
- 先拷贝回旧配置,再按需合并新版本默认配置:
cp -r /backup/hadoop_config_*/hadoop/* $HADOOP_HOME/etc/hadoop/ - 重点核对:
hadoop-env.sh中的 JAVA_HOME、core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml的路径与端口。
- 先拷贝回旧配置,再按需合并新版本默认配置:
- 启动与验证
- 启动:
$HADOOP_HOME/sbin/start-dfs.sh、$HADOOP_HOME/sbin/start-yarn.sh - 健康检查:
hadoop version、jps、HDFS Web UI(默认 9870/50070)、YARN Web UI(默认 8088)。
- 启动:
三 跨大版本升级与回滚要点(HDFS 元数据升级)
- 进入升级模式并启动 HDFS
- 首次升级执行:
$HADOOP_HOME/sbin/start-dfs.sh -upgrade - 查看进度:
hdfs dfsadmin -upgradeProgress status(必要时用details查看细节)
- 首次升级执行:
- 观察与验证
- 确认服务稳定、数据可读写正常、作业运行无异常。
- 完成升级
- 当确认新版本运行稳定后执行:
hdfs dfsadmin -finalizeUpgrade - 注意:finalize 之后将删除旧版本备份,无法再回滚。
- 当确认新版本运行稳定后执行:
- 回滚(如升级异常)
- 停止集群后,以升级前的元数据与数据目录启动:
$HADOOP_HOME/sbin/start-dfs.sh -rollback - 回滚完成后,再按需要切换到新版本并重新初始化升级流程。
- 停止集群后,以升级前的元数据与数据目录启动:
四 滚动升级与生态兼容建议
- 滚动升级(如所用发行版/版本支持)
- 典型流程:准备滚动升级 → 升级 Active/Standby NameNode → 逐批升级 DataNode → 验证 → 提交升级;如需回退,可用 Rollback 或 Rolling Downgrade(保留数据)。
- 命令示例(以 Hadoop 3.x 常见工具为例):
hdfs dfsadmin -rollingUpgrade start|query|finalize|rollback。
- 生态组件顺序
- 若集群同时运行 HBase,通常遵循:先升级 Hadoop,再升级 HBase,并逐一回归测试。
- 版本兼容与回归
- 核对 Hadoop 与 Hive、HBase、Spark 等的版本矩阵;在升级窗口内安排作业回归与性能基线对比。
五 常见问题与快速排查
- 环境变量未生效
- 确认
HADOOP_HOME、JAVA_HOME、PATH已正确设置并source ~/.bashrc或对应 shell 配置;执行hadoop version校验。
- 确认
- 端口占用或进程残留
- 使用
jps检查 NameNode/DataNode/ResourceManager/NodeManager;必要时lsof -i:< port>排查并清理残留进程后再启动。
- 使用
- 配置路径不一致
- 升级后数据与日志目录变更需同步到
hdfs-site.xml、yarn-site.xml等;保持与备份时一致可减少风险。
- 升级后数据与日志目录变更需同步到
- 升级后作业失败
- 优先检查新旧版本间默认参数变化与权限/队列配置;回滚或在新版本中做参数回退与作业重跑。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何升级Ubuntu上的Hadoop版本
本文地址: https://pptw.com/jishu/755445.html
