在 Linux 环境下对 HDFS(Hadoop 分布式文件系统)进行升级,通常属于 Hadoop 集群版本升级 的一部分。下面按常规生产升级流程说明,适用于 Hadoop 2.x → 3.x 或 小版本升级。
hadoop version
hdfs version
不同版本差异较大,务必查看:
# 备份 NameNode 元数据
cp -r $HADOOP_HOME/data/dfs/name /backup/name-$(date +%F)
# 备份配置文件
cp -r $HADOOP_HOME/etc/hadoop /backup/hadoop-etc-$(date +%F)
stop-yarn.sh
stop-dfs.sh
HDFS 支持两种升级方式:
适合:不停机、生产环境
适合:小集群、测试环境
stop-dfs.sh
mv hadoop-2.10.1 hadoop-2.10.1-old
tar -xzf hadoop-3.3.6.tar.gz -C /opt
cp -r hadoop-2.10.1-old/etc/hadoop/* hadoop-3.3.6/etc/hadoop/
⚠️ 注意检查:
hdfs-site.xmlcore-site.xmlhdfs namenode -upgrade
start-dfs.sh
hdfs dfsadmin -report
hdfs fsck /
hdfs dfsadmin -finalizeUpgrade
hdfs dfsadmin -rollingUpgrade prepare
hdfs dfsadmin -rollingUpgrade query
# 每台 DataNode
hdfs --daemon stop datanode
# 替换软件
hdfs --daemon start datanode
hdfs dfsadmin -rollingUpgrade finalize
dfs.namenode.name.dirhadoop-hdfs-namenode-*.loghadoop checknative
hdfs dfsadmin -rollback
✅ 推荐流程:
备份 → 停写 → 升级 NN → DN → 验证 → finalize
如果你能告诉我:
我可以给你更精确的升级命令和配置改动清单。