HDFS在Linux中的版本升级流程是怎样的
导读:HDFS在Linux上的版本升级流程 一 升级方式与前置检查 方式选择 滚动升级(Rolling Upgrade):适用于启用 HA 的集群,尽量做到不停服;按“先 Standby NameNode → 切换 Active/Standb...
HDFS在Linux上的版本升级流程
一 升级方式与前置检查
- 方式选择
- 滚动升级(Rolling Upgrade):适用于启用 HA 的集群,尽量做到不停服;按“先 Standby NameNode → 切换 Active/Standby → 升级原 Active → 再切换 → 逐批升级 DataNode”的顺序执行,最后完成最终化。
- 停机升级(Non‑HA):需短暂停机,先停旧版再启动新版执行升级流程。
- 前置检查
- 核对目标版本的兼容性与升级说明(HDFS 元数据/数据布局可能随版本变化)。
- 备份关键数据:NameNode 元数据目录 dfs.namenode.name.dir、DataNode 数据目录 dfs.datanode.data.dir、以及 $HADOOP_HOME/etc/hadoop 配置。
- 检查是否存在旧升级残留:执行 hdfs dfsadmin -upgradeProgress status;若显示有进行中的升级或残留备份,需先处理(必要时执行 hdfs dfsadmin -finalizeUpgrade 清理后再升级)。
- 规划回滚方案:保留旧版本安装包与配置,确认回滚路径与步骤。
二 停机升级步骤(非HA,适用于CentOS/RHEL等Linux)
- 停止旧版 HDFS
- 建议以 hdfs 用户执行:
- sbin/stop-dfs.sh
- 或分别停止:hadoop-daemon.sh stop namenode、hadoop-daemon.sh stop datanode
- 建议以 hdfs 用户执行:
- 备份与准备
- 备份 dfs.namenode.name.dir、dfs.datanode.data.dir 与配置文件目录。
- 在所有节点部署新版本 Hadoop(保持 HADOOP_HOME 等路径一致或同步调整配置)。
- 执行升级
- 启动 NameNode 并进入升级流程:
- 方式A:sbin/start-dfs.sh -upgrade
- 方式B:hdfs namenode -upgrade(随后再启动 DataNode)
- 启动 NameNode 并进入升级流程:
- 观察与验证
- 查看升级进度:hdfs dfsadmin -upgradeProgress status / details
- 观察 DataNode 数据目录是否出现 previous/ 等升级临时目录,表示数据布局在迁移/升级。
- 通过 http://:50070 查看启动与升级进度页面。
- 提交升级
- 在确认新版本运行稳定(建议观察至少数天)后,执行最终化:
- hdfs dfsadmin -finalizeUpgrade
- 注意:提交后旧版本备份会被删除,将无法再回滚到升级前状态。
- 在确认新版本运行稳定(建议观察至少数天)后,执行最终化:
三 滚动升级步骤(HA,尽量不停服)
- 准备阶段
- 执行:hdfs dfsadmin -rollingUpgrade prepare
- 查询:hdfs dfsadmin -rollingUpgrade query,直至出现 “Proceed with rolling upgrade”。
- 升级 NameNode
- 依次升级 Standby NN → 执行 HA 切换使原 Active 变为 Standby → 升级原 Active NN → 再次切换使新版本成为 Active。
- 升级 DataNode
- 按批次(如按机架/机柜)逐台停机、升级、启动并确认注册成功,再继续下一批,直至全部完成。
- 完成升级
- 确认集群稳定后执行:hdfs dfsadmin -rollingUpgrade finalize。
四 回滚与常见问题
- 回滚
- 停机回滚(非HA):停止集群 → 部署旧版本 → 启动 NameNode 时执行回滚:hdfs namenode -rollback(或 sbin/start-dfs.sh -rollback)→ 启动 DataNode。
- 滚动回滚(HA):在 -rollingUpgrade 流程内按官方指引执行回滚操作,再恢复服务。
- 重要:一旦执行 -finalizeUpgrade,旧备份被清理,无法回滚;提交前务必充分验证。
- 常见问题与要点
- 不要在新版本未执行“-upgrade”前直接启动,否则不会触发数据布局升级。
- 升级未完成或未提交前,删除旧文件不会真正释放 DataNode 磁盘空间。
- 升级期间可通过 hdfs dfsadmin -upgradeProgress 查看进度与细节;必要时再执行“-finalizeUpgrade”。
- 配置与路径:确保 JAVA_HOME、dfs.namenode.name.dir、dfs.datanode.data.dir 等在新版本中配置正确;跨小版本升级通常可沿用旧配置,但需按新版本变更做必要调整。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: HDFS在Linux中的版本升级流程是怎样的
本文地址: https://pptw.com/jishu/753344.html
