温馨提示×

linux hadoop如何更新版本

小樊
37
2026-08-25 01:16:32
栏目: 智能运维

在 Linux 上更新 Hadoop 版本,通常不建议直接“原地升级”,而是采用新版本并行安装 + 迁移配置/数据的方式,更安全、可控。下面我按通用流程 + 常见场景给你详细说明。


一、升级前准备(非常重要)

1️⃣ 查看当前 Hadoop 版本

hadoop version

2️⃣ 备份关键内容

# 配置目录
cp -r $HADOOP_HOME/etc/hadoop /backup/hadoop-conf-$(date +%F)

# NameNode 元数据(非常重要)
cp -r $HADOOP_HOME/dfs/name /backup/dfs-name-$(date +%F)

3️⃣ 确认集群状态

hdfs dfsadmin -report
yarn node -list

✅ 确保没有异常节点、没有损坏块


二、推荐升级方式(生产环境通用)

✅ 方案:并行安装新版本 Hadoop

1️⃣ 下载新版本 Hadoop

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/

2️⃣ 配置新 Hadoop

export HADOOP_NEW=/opt/hadoop-3.3.6

复制旧配置(不要直接覆盖):

cp -r /opt/hadoop-3.2.1/etc/hadoop/* $HADOOP_NEW/etc/hadoop/

⚠️ 注意:

  • 检查 core-site.xml
  • 检查 hdfs-site.xml
  • 检查 yarn-site.xml
  • 检查 workers(或 slaves)

三、HDFS 升级(关键步骤)

1️⃣ 停止旧集群

$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/stop-yarn.sh

2️⃣ 使用新版本启动 HDFS(升级模式)

$HADOOP_NEW/bin/hdfs --daemon start namenode -upgrade

或:

$HADOOP_NEW/sbin/start-dfs.sh

Hadoop 会自动检测并执行升级

3️⃣ 检查升级状态

hdfs dfsadmin -upgradeProgress status

✅ 若无报错,说明升级成功


四、YARN 升级

$HADOOP_NEW/sbin/start-yarn.sh

验证:

yarn node -list

五、升级完成后操作

1️⃣ 切换 Hadoop 环境变量

vim ~/.bashrc
export HADOOP_HOME=/opt/hadoop-3.3.6
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
source ~/.bashrc

2️⃣ 确认版本

hadoop version

六、回滚(升级失败时使用)

如果升级失败,可回滚:

$HADOOP_NEW/bin/hdfs namenode -rollback

⚠️ 回滚只能在新版本启动后、尚未 finalize 前执行


七、正式确认升级(Finalize)

确认一切正常后:

hdfs dfsadmin -finalizeUpgrade

✅ 此后无法回滚


八、常见版本升级注意事项

场景 注意事项
Hadoop 2 → 3 配置参数变化大,需重点检查
HDFS 升级 必须备份 NameNode 元数据
HA 集群 先升级 Standby NameNode
使用 Hive / HBase 需同步升级兼容版本
Java 版本 Hadoop 3 需要 Java 8+

九、简单总结流程

备份
→ 下载新版本
→ 复制配置
→ 停止旧集群
→ 启动新版本 HDFS(upgrade)
→ 启动 YARN
→ 验证
→ finalize

如果你愿意,可以告诉我:

  • 当前 Hadoop 版本
  • 是否 HA
  • 是否使用 Hive / HBase
  • 单机还是集群

我可以给你更精确的升级方案

0