在 Linux 上升级 Hadoop,通常分为 “同版本系列升级(如 3.2 → 3.3)” 和 “跨大版本升级(如 2.x → 3.x)” 两种情况。下面给你一套通用、稳妥的升级流程,适用于生产环境。
hadoop version
hdfs dfsadmin -report
yarn node -list
✅ 确保:
# 备份配置
cp -r $HADOOP_HOME/etc/hadoop /backup/hadoop-conf-$(date +%F)
# 备份 NameNode 元数据和 JournalNode(如有)
# 停止集群后再备份
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -zxvf hadoop-3.3.6.tar.gz -C /opt/
# 停止 HDFS
$HADOOP_HOME/sbin/stop-dfs.sh
# 停止 YARN
$HADOOP_HOME/sbin/stop-yarn.sh
mv /opt/hadoop /opt/hadoop_old
mv /opt/hadoop-3.3.6 /opt/hadoop
cp -r /opt/hadoop_old/etc/hadoop/* /opt/hadoop/etc/hadoop/
⚠️ 注意:
hadoop-env.shhadoop-daemon.sh start journalnode
hdfs namenode -upgrade
# 在 active NameNode 上
hdfs namenode -upgrade
# 在 standby NameNode 上
hdfs namenode -bootstrapStandby
$HADOOP_HOME/sbin/start-dfs.sh
hdfs dfsadmin -report
hdfs fsck /
$HADOOP_HOME/sbin/start-yarn.sh
验证:
yarn node -list
⚠️ 一旦 finalize,无法回滚
hdfs dfsadmin -finalizeUpgrade
# 停止集群
stop-dfs.sh
# 回滚
hdfs namenode -rollback
# 启动旧版本
chown -R hadoop:hadoop /opt/hadoop
重点检查:
core-site.xmlhdfs-site.xmlyarn-site.xml✅ 滚动升级(Rolling Upgrade)
hdfs dfsadmin -rollingUpgrade prepare
适合大集群,减少停机时间。
备份 → 停集群 → 替换 Hadoop → 升级 HDFS → 启动 → 验证 → finalize
如果你愿意,可以告诉我:
我可以给你 精确的升级命令和注意事项 ✅