在 Debian 系统上升级 Hadoop,通常分为 “同版本系列升级(如 3.3.4 → 3.3.6)” 和 “跨大版本升级(如 2.x → 3.x)” 两种情况。下面给你一套 通用、稳妥、生产可用的升级流程。
hadoop version
lsb_release -a
# 配置目录
cp -r $HADOOP_HOME/etc/hadoop /backup/hadoop-conf-$(date +%F)
# NameNode 元数据
cp -r $HADOOP_HOME/dfs/name /backup/namenode-meta-$(date +%F)
如果是生产环境,一定要做 HDFS 元数据备份
适用于 手动安装 Hadoop(非 apt 安装)
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/
cp $HADOOP_HOME/etc/hadoop/* /opt/hadoop-3.3.6/etc/hadoop/
编辑:
vim /etc/profile.d/hadoop.sh
示例:
export HADOOP_HOME=/opt/hadoop-3.3.6
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
生效:
source /etc/profile
stop-dfs.sh
stop-yarn.sh
hdfs namenode -upgrade
start-dfs.sh
start-yarn.sh
hadoop version
hdfs dfsadmin -report
hdfs fsck /
tail -f $HADOOP_HOME/logs/hadoop-*-namenode-*.log
hdfs dfsadmin -report
stop-dfs.sh
hdfs namenode -rollback
start-dfs.sh
export HADOOP_HOME=/opt/hadoop-3.3.4
Debian 官方仓库中 Hadoop 版本非常旧,不建议用于生产。
如果你是用 apt 安装的:
apt remove hadoop
然后改用 官方二进制包安装。
| 问题 | 解决方案 |
|---|---|
| Java 版本不兼容 | 使用 Java 8 / 11(Hadoop 3.x) |
| native library 报错 | 安装 libhadoop 依赖 |
| HDFS 无法启动 | 检查 dfs.namenode.name.dir |
| 权限问题 | chown -R hadoop:hadoop $HADOOP_HOME |
✅ 先升级测试环境
✅ 滚动升级(Rolling Upgrade)(Hadoop 3.x)
✅ HDFS 升级前做 fsimage 备份
你可以告诉我:
我可以给你 精确到命令级别的升级方案 ✅