温馨提示×

linux hdfs配置如何升级

小樊
31
2026-09-16 17:35:11
栏目: 智能运维

在 Linux 环境下对 HDFS(Hadoop 分布式文件系统)进行升级,通常属于 Hadoop 集群版本升级 的一部分。下面按常规生产升级流程说明,适用于 Hadoop 2.x → 3.x小版本升级


一、升级前准备(非常重要)

1. 确认当前版本

hadoop version
hdfs version

2. 阅读官方升级文档

不同版本差异较大,务必查看:

  • Apache Hadoop 官方升级说明
  • CDH / HDP / 自建集群对应文档

3. 全量备份(必须)

# 备份 NameNode 元数据
cp -r $HADOOP_HOME/data/dfs/name /backup/name-$(date +%F)

# 备份配置文件
cp -r $HADOOP_HOME/etc/hadoop /backup/hadoop-etc-$(date +%F)

4. 停止写操作

  • 禁止业务写入
  • 停止 YARN / MapReduce 任务
stop-yarn.sh
stop-dfs.sh

二、HDFS 升级方式选择

HDFS 支持两种升级方式:

✅ 方式一:滚动升级(推荐,3.x 支持)

适合:不停机、生产环境

✅ 方式二:停止式升级

适合:小集群、测试环境


三、停止式升级步骤(最稳妥)

1. 停止 HDFS

stop-dfs.sh

2. 替换 Hadoop 安装包

mv hadoop-2.10.1 hadoop-2.10.1-old
tar -xzf hadoop-3.3.6.tar.gz -C /opt

3. 复制配置文件

cp -r hadoop-2.10.1-old/etc/hadoop/* hadoop-3.3.6/etc/hadoop/

⚠️ 注意检查:

  • hdfs-site.xml
  • core-site.xml
  • 废弃参数(3.x 很多参数改名)

4. 升级 NameNode 元数据

hdfs namenode -upgrade

5. 启动 HDFS

start-dfs.sh

6. 验证升级

hdfs dfsadmin -report
hdfs fsck /

7. 提交升级(确认无误后)

hdfs dfsadmin -finalizeUpgrade

四、滚动升级(HDFS Rolling Upgrade)

1. 启动滚动升级

hdfs dfsadmin -rollingUpgrade prepare
hdfs dfsadmin -rollingUpgrade query

2. 逐个升级 DataNode

# 每台 DataNode
hdfs --daemon stop datanode
# 替换软件
hdfs --daemon start datanode

3. 升级 NameNode(先 Standby 后 Active)

4. 完成升级

hdfs dfsadmin -rollingUpgrade finalize

五、常见问题

1. NameNode 起不来

  • 检查 dfs.namenode.name.dir
  • 查看 hadoop-hdfs-namenode-*.log

2. 不兼容的配置

hadoop checknative

3. 回滚(升级失败)

hdfs dfsadmin -rollback

六、总结

✅ 推荐流程:

备份 → 停写 → 升级 NN → DN → 验证 → finalize

如果你能告诉我:

  • Hadoop 当前版本
  • 目标版本
  • 是否 CDH / HDP / 自建

我可以给你更精确的升级命令和配置改动清单

0