在 Linux 上“升级 Hadoop”通常分几种情况,做法不完全一样:
下面以Apache Hadoop 在 Linux 上的手动升级为例说明(最通用)。
hadoop version
# NameNode 上
cd $HADOOP_HOME
cp -r etc/hadoop /backup/hadoop-etc-$(date +%F)
$HADOOP_HOME/etc/hadoop/*.xml
stop-dfs.sh
stop-yarn.sh
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
# 假设原目录
/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/
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
⚠️ 风险较高,建议先在测试环境验证
mapred-site.xml)hdfs dfsadmin -rollingUpgrade prepare
hdfs dfsadmin -rollingUpgrade query
逐个重启 DataNode / NameNode。
不要手动替换 Hadoop!
UnsupportedClassVersionError→ Java 版本不匹配
→ 未做元数据备份或版本不兼容
→ 端口变化(Hadoop 3 默认端口不同)
✅ 小版本升级:直接替换
⚠️ 大版本升级:先测试 + 滚动升级
❌ 不建议生产环境直接覆盖
如果你愿意,可以告诉我:
我可以给你更精确的升级步骤。