温馨提示×

linux hadoop怎么升级

小樊
41
2026-09-13 16:01:40
栏目: 智能运维

在 Linux 上“升级 Hadoop”通常分几种情况,做法不完全一样:

  1. 同大版本内小版本升级(如 3.2.1 → 3.3.6):最安全,最常用
  2. 跨大版本升级(如 2.x → 3.x):需注意兼容性、依赖、配置变更
  3. 使用发行版(CDH / HDP / Ambari / CDP):走平台自带的升级流程

下面以Apache Hadoop 在 Linux 上的手动升级为例说明(最通用)。


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

1. 查看当前版本

hadoop version

2. 备份关键数据

  • HDFS 元数据(NameNode):
# NameNode 上
cd $HADOOP_HOME
cp -r etc/hadoop /backup/hadoop-etc-$(date +%F)
  • 若有条件,做 HDFS 快照或全量备份
  • 备份配置文件:
$HADOOP_HOME/etc/hadoop/*.xml

3. 停止 Hadoop 集群

stop-dfs.sh
stop-yarn.sh

二、同版本系列升级(推荐方式)

1. 下载新版本

wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -xzf hadoop-3.3.6.tar.gz -C /opt

2. 替换 Hadoop 目录(保留配置)

# 假设原目录
/opt/hadoop-3.2.1

# 新目录
/opt/hadoop-3.3.6

# 复制配置
cp -r /opt/hadoop-3.2.1/etc/hadoop/* /opt/hadoop-3.3.6/etc/hadoop/

3. 修改环境变量

vim /etc/profile
# 或 ~/.bashrc
export HADOOP_HOME=/opt/hadoop-3.3.6
export PATH=$HADOOP_HOME/bin:$PATH
source /etc/profile

三、启动并做健康检查

start-dfs.sh
start-yarn.sh

检查:

hdfs dfsadmin -report
yarn node -list

查看日志:

tail -f $HADOOP_HOME/logs/hadoop-*-namenode-*.log

四、跨大版本升级(如 2.x → 3.x)

⚠️ 风险较高,建议先在测试环境验证

特别注意:

  • Java 版本(Hadoop 3 需要 Java 8+)
  • 配置文件变更(如 mapred-site.xml
  • HDFS 滚动升级支持(3.x)

官方推荐方式(HDFS Rolling Upgrade)

hdfs dfsadmin -rollingUpgrade prepare
hdfs dfsadmin -rollingUpgrade query

逐个重启 DataNode / NameNode。


五、使用发行版(CDH / HDP)

不要手动替换 Hadoop!

  • CDH / CDP:用 Cloudera Manager 升级
  • HDP / Ambari:用 Ambari Upgrade Wizard

六、常见问题

1. 启动报错 UnsupportedClassVersionError

→ Java 版本不匹配

2. NameNode 无法启动

→ 未做元数据备份或版本不兼容

3. Web UI 打不开

→ 端口变化(Hadoop 3 默认端口不同)


七、建议升级路线

✅ 小版本升级:直接替换
⚠️ 大版本升级:先测试 + 滚动升级
❌ 不建议生产环境直接覆盖


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

  • 当前 Hadoop 版本
  • Linux 发行版(CentOS / Ubuntu)
  • 是否是 CDH / HDP
  • 单节点还是集群

我可以给你更精确的升级步骤

0