版本切换
2025年12月9日大约 2 分钟
把 Hadoop 从 3.3.5 切到 3.2.4,从而解决 HBase 2.5.13 的 AsyncFS 崩溃问题。
⭐ 总体方案
你 不需要重装系统、不需要重装 HBase,只需:
- 下载 Hadoop 3.2.4
- 停止 HDFS
- 切换软链接 / 环境变量
- 同步核心配置(core-site.xml / hdfs-site.xml)
- 重启 HDFS + HBase
🔧 详细步骤
① 下载 Hadoop 3.2.4
进入存放 Hadoop 的目录:
cd /opt下载:
wget https://downloads.apache.org/hadoop/common/hadoop-3.2.4/hadoop-3.2.4.tar.gz
tar -xzf hadoop-3.2.4.tar.gz这样你将有:
/opt/hadoop-3.2.4
/opt/hadoop-3.3.5 (旧)② 停止 HDFS 和 HBase
stop-hbase.sh
stop-dfs.sh确认 Java 进程全部退出:
jps③ 修改软链接(核心步骤)
如果你当前有一个软链接 /opt/hadoop 指向 3.3.5:
ls -l /opt/hadoop如果输出类似:
hadoop -> hadoop-3.3.5请删除并改成 3.2.4:
rm -f /opt/hadoop
ln -s /opt/hadoop-3.2.4 /opt/hadoop这样所有依赖 /opt/hadoop/bin 的命令立即切换到新版本。
④ 复制配置文件到新的 Hadoop
把旧 Hadoop 的配置复制到新 Hadoop:
cp /opt/hadoop-3.3.5/etc/hadoop/core-site.xml /opt/hadoop-3.2.4/etc/hadoop/
cp /opt/hadoop-3.3.5/etc/hadoop/hdfs-site.xml /opt/hadoop-3.2.4/etc/hadoop/
cp /opt/hadoop-3.3.5/etc/hadoop/yarn-site.xml /opt/hadoop-3.2.4/etc/hadoop/
cp /opt/hadoop-3.3.5/etc/hadoop/mapred-site.xml /opt/hadoop-3.2.4/etc/hadoop/
cp /opt/hadoop-3.3.5/etc/hadoop/hadoop-env.sh /opt/hadoop-3.2.4/etc/hadoop/(你的 HDFS 使用的是同一个 NameNode 和 DataNode 目录,不需要 format)
⑤ 更新环境变量
打开:
vim ~/.bashrc确保:
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin重新加载:
source ~/.bashrc检查:
hadoop version应该看到:
Hadoop 3.2.4⑥ 重启 HDFS
start-dfs.sh检查:
jps应包含:
- NameNode
- DataNode
- SecondaryNameNode / JournalNode
⑦ 重启 HBase
start-hbase.sh检查:
hbase shell
status应该不再出现 asyncfs 异常。
🔥 到这里你已经成功将 Hadoop 切到 3.2.4,并解决 HBase 的 WAL 异常。
📌 可选:删除旧版本(在新版本稳定运行后)
rm -rf /opt/hadoop-3.3.5🎉 总结:切换 Hadoop 的最短步骤
stop-hbase.sh
stop-dfs.sh
cd /opt
tar -xzf hadoop-3.2.4.tar.gz
rm -f hadoop
ln -s hadoop-3.2.4 hadoop
cp hadoop-3.3.5/etc/hadoop/*.xml hadoop-3.2.4/etc/hadoop/
source ~/.bashrc
start-dfs.sh
start-hbase.sh如果你希望,我还可以给你:
✅ HBase 2.5.13 + Hadoop 3.2.4 的最佳调优配置模板
✅ 完整的 hdfs-site.xml / core-site.xml / hbase-site.xml 最佳搭配
✅ 检查是否有残留 JAR 冲突的脚本
你需要哪个?