在 CentOS 上升级 HDFS(Hadoop HDFS) 通常指升级 Hadoop 版本。下面按常见、稳妥的方式给你一份完整升级指南,适用于 生产环境 和 测试环境。
hadoop version
hdfs version
hdfs dfsadmin -report
hdfs fsck / -files -blocks -locations
✅ 确保:
mkdir -p /backup/hadoop/namenode
cp -r $HADOOP_HOME/data/dfs/name /backup/hadoop/namenode
cp -r $HADOOP_HOME/etc/hadoop /backup/hadoop/conf
distcp| 场景 | 建议方式 |
|---|---|
| Hadoop 2.x → 2.x | 滚动升级 |
| Hadoop 2.x → 3.x | 停机升级(推荐) |
| 测试环境 | 直接停机升级 |
| 生产环境 | 滚动升级 |
wget https://downloads.apache.org/hadoop/common/hadoop-3.x.x/hadoop-3.x.x.tar.gz
tar -zxvf hadoop-3.x.x.tar.gz -C /opt/
cp -r $OLD_HADOOP_HOME/etc/hadoop/* $NEW_HADOOP_HOME/etc/hadoop/
⚠️ 注意:
hdfs-site.xmlcore-site.xmlworkers在 NameNode 上执行:
hdfs dfsadmin -rollingUpgrade prepare
确认:
hdfs dfsadmin -rollingUpgrade query
在 每个 DataNode 节点 上:
# 停止旧 DataNode
$HADOOP_HOME/sbin/hadoop-daemon.sh stop datanode
# 使用新版本启动
$NEW_HADOOP_HOME/sbin/hadoop-daemon.sh start datanode
✅ 可逐个节点操作,不影响集群可用性
如果是 HA(两个 NameNode):
# 升级 Standby NameNode
$NEW_HADOOP_HOME/sbin/hadoop-daemon.sh start namenode
# 切换 Active/Standby
hdfs haadmin -failover nn1 nn2
hdfs dfsadmin -rollingUpgrade finalize
$HADOOP_HOME/sbin/stop-dfs.sh
mv /opt/hadoop /opt/hadoop_old
mv /opt/hadoop-3.x /opt/hadoop
hdfs namenode -upgrade
$HADOOP_HOME/sbin/start-dfs.sh
hdfs dfsadmin -report
hdfs fsck /
hadoop version 正确hdfs dfsadmin -rollingUpgrade rollback
或直接恢复:
cp -r /backup/hadoop/namenode/name $HADOOP_HOME/data/dfs/name
dfs.datanode.data.dirhadoop logsjava -version
你可以告诉我:
我可以给你 一步一步的定制升级方案 ✅