在 Debian 上“升级 Hadoop 版本”通常不是用 apt 升级(Debian 官方源里的 hadoop 很旧,而且很多生产环境是手动装的),而是手动替换 Hadoop 安装目录 + 迁移配置。下面按常见场景给你一套稳妥流程。
which hadoop
hadoop version
echo $HADOOP_HOME
记下:
/opt/hadoop)$HADOOP_HOME/etc/hadoop)cp -r $HADOOP_HOME /opt/hadoop_backup_$(date +%F)
重点备份:
etc/hadoop/*hdfs-site.xmlcore-site.xmlyarn-site.xmlmapred-site.xml以 3.3.6 为例(去官网选你需要的版本):
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
不要直接覆盖整个 etc,只复制你改过的配置
cp /opt/hadoop_backup_*/etc/hadoop/*.xml /opt/hadoop-3.3.6/etc/hadoop/
cp /opt/hadoop_backup_*/etc/hadoop/hadoop-env.sh /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.d/hadoop.sh
hadoop version
如果是 HDFS 集群,需要先做升级准备:
stop-dfs.sh
stop-yarn.sh
hdfs namenode -upgrade
然后启动:
start-dfs.sh
观察一段时间没问题再执行:
hdfs namenode -finalizeUpgrade
如果升级失败:
stop-dfs.sh
hdfs namenode -rollback
start-dfs.sh
如果你是用 apt 装的(很少见):
apt update
apt install hadoop
但版本通常很旧,不建议。
如果你愿意,可以告诉我:
我可以给你精确到命令的升级方案。