Hadoop在Ubuntu上如何进行版本升级
Hadoop在Ubuntu上的版本升级指南
一 升级前准备
- 明确升级路径与兼容性:确认当前与目标 Hadoop 版本,核对发行说明中的不兼容变更、Java 版本要求与依赖组件(如 HBase、Hive、Spark)的兼容矩阵。
- 完整备份:优先备份 NameNode 元数据目录 dfs.namenode.name.dir、DataNode 数据目录 dfs.datanode.data.dir、JournalNode 目录(若启用 QJM)、以及 Hadoop 配置目录 $HADOOP_HOME/etc/hadoop。
- 检查环境:确认 JAVA_HOME 与新版本一致;梳理自定义脚本、容量调度/公平调度配置、安全认证(如 Kerberos)等差异。
- 规划窗口与回滚:选择低峰时段,保留回滚方案(配置与数据备份、回滚脚本)。
- 文档与演练:阅读目标版本的官方升级指南,条件允许时先在测试/预发集群演练。
二 标准升级步骤
-
步骤1 停止集群
在所有节点执行:
cd $HADOOP_HOME/sbin
./stop-yarn.sh
./stop-dfs.sh
确认进程已退出(如 jps 不再出现 NameNode/DataNode/ResourceManager/NodeManager)。 -
步骤2 备份关键数据与配置
示例:备份配置与元数据
tar czf /backup/hadoop-conf-$(date +%F).tgz -C $HADOOP_HOME/etc/hadoop .
备份 NameNode 元数据(强烈建议)
rsync -av $HADOOP_HOME/dfs/name/ /backup/hadoop-nn-name-$(date +%F)/
备份 DataNode 数据(可选,视磁盘策略)
rsync -av $HADOOP_HOME/dfs/data/ /backup/hadoop-dn-data-$(date +%F)/
-
步骤3 部署新版本
下载并解压
wget https://downloads.apache.org/hadoop/common/hadoop-/hadoop-.tar.gz
tar -xzvf hadoop-.tar.gz -C /opt使用符号链接便于回滚
ln -sfn /opt/hadoop- $HADOOP_HOME
-
步骤4 迁移与合并配置
先拷贝旧配置,再按需合并新版本默认配置
cp -r $HADOOP_HOME.old/etc/hadoop/* $HADOOP_HOME/etc/hadoop/
重点核对:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、hadoop-env.sh、workers
注意新版本的默认参数变化与废弃项
-
步骤5 启动并进入升级流程(HDFS 滚动升级)
启动 JournalNode(若启用 QJM HA)
$HADOOP_HOME/sbin/hadoop-daemon.sh start journalnode
启动 NameNode(进入升级模式)
$HADOOP_HOME/bin/hdfs --daemon start namenode -upgrade
在其他 NameNode 节点(HA)执行
$HADOOP_HOME/bin/hdfs namenode -bootstrapStandby
启动 DataNode
$HADOOP_HOME/sbin/hadoop-daemon.sh start datanode
查看升级进度
$HADOOP_HOME/bin/hdfs dfsadmin -upgradeProgress status
观察集群健康
$HADOOP_HOME/bin/hdfs dfsadmin -report
$HADOOP_HOME/bin/yarn node -list
三 升级后验证与回滚
-
功能与数据验证
- 基础连通与版本:
$HADOOP_HOME/bin/hadoop version
$HADOOP_HOME/bin/hdfs dfs -ls / - 作业与资源:
$HADOOP_HOME/bin/yarn application -list - 重点业务回归:抽样跑批/实时任务,核对数据完整性与计算结果。
- 基础连通与版本:
-
回滚与清理
- 需要回滚时(升级异常或验证失败):
停止新版本进程后,以旧版本启动 NameNode 并回滚
$HADOOP_HOME.old/bin/hdfs --daemon start namenode -rollback启动 DataNode
$HADOOP_HOME.old/sbin/hadoop-daemon.sh start datanode - 确认新版本稳定运行一段时间后,执行完成升级以释放旧版本备份:
$HADOOP_HOME/bin/hdfs dfsadmin -finalizeUpgrade
注意:执行 finalize 后将无法回滚,务必在充分验证后操作。
- 需要回滚时(升级异常或验证失败):
四 常见问题与注意事项
- 配置与兼容性:不同版本间 API/配置项 可能变化,需逐项核对并更新应用与脚本;必要时搭建兼容性测试与性能基准回归。
- 安全与认证:若启用 Kerberos,确保 keytab 与新版本一致,kinit 可用;检查 HDFS 权限/ACL 与 YARN 队列策略。
- 监控与日志:升级后重点观察 NameNode/DataNode/ResourceManager/NodeManager 日志与 GC/磁盘/网络 指标,确保无异常告警。
- 生态组件:如与 HBase 等组件联动,通常需先升级 Hadoop 再升级 HBase,并严格按组件矩阵执行。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Hadoop在Ubuntu上如何进行版本升级
本文地址: https://pptw.com/jishu/789454.html
