首页主机资讯Ubuntu HDFS版本升级流程是什么

Ubuntu HDFS版本升级流程是什么

时间2025-11-17 10:05:04发布访客分类主机资讯浏览1280
导读:Ubuntu 上 HDFS 版本升级流程 一 升级方式与前置准备 升级方式 滚动升级(Rolling Upgrade):适用于 Hadoop 2.x → 3.x 及更高版本,支持在 HA 或 非 HA 集群中逐个节点升级,尽量做到业务不...

Ubuntu 上 HDFS 版本升级流程

一 升级方式与前置准备

  • 升级方式
    • 滚动升级(Rolling Upgrade):适用于 Hadoop 2.x → 3.x 及更高版本,支持在 HA非 HA 集群中逐个节点升级,尽量做到业务不停机。核心命令包括:hdfs dfsadmin -rollingUpgrade prepare/query/start/finalize
    • 停机升级:适用于无法滚动升级的场景(如老版本或非 HA),需短暂停机,按序重启 NameNode/DataNode
  • 前置检查
    • 完整备份关键数据与配置:包括 dfs.namenode.name.dir 元数据目录、重要配置文件(如 core-site.xml、hdfs-site.xml、yarn-site.xml 等)。
    • 版本与兼容性核对:阅读目标版本的发行说明,确认 OS、JDK、依赖库、HDFS 布局/特性 的兼容性。
    • 测试验证:在测试环境演练全流程,覆盖升级、回滚、故障定位。
    • 规划窗口与回滚方案:明确升级窗口、监控告警、回滚触发条件与步骤。
    • 配置重点复查:如 fs.defaultFS、dfs.replication、dfs.namenode.name.dir 等关键参数在新版本中的有效性。

二 滚动升级步骤(HA 与非 HA)

  • 准备阶段
    • Standby NameNode 执行:hdfs dfsadmin -rollingUpgrade prepare
    • 查询状态:hdfs dfsadmin -rollingUpgrade query,等待返回 “Proceed with rolling upgrade”
  • 升级 NameNode
    • HA 集群
      • 先升级 Standby NameNode
      • 执行故障转移,使原 Active 变为 Standby
      • 升级原 Active NameNode
      • -rollingUpgrade started 选项将其作为 Standby 启动;
      • 视需要再次切换,使新 Active 处于健康状态。
    • 非 HA 集群
      • 停止并升级 Secondary NameNode(SNN)
      • 停止并升级 NameNode
      • 启动时带上 -rollingUpgrade started 选项;
      • 升级并重启 SNN
  • 升级 DataNode
    • 按“机架/机柜/子集”分批进行,逐台操作:
      • 关闭 DataNode 并触发升级:hdfs dfsadmin -shutdownDatanode < datanode_host> :< ipc_port> upgrade
      • 等待停止完成:hdfs dfsadmin -getDatanodeInfo < datanode_host> :< ipc_port>
      • 启动新版本 DataNode:hdfs --daemon start datanode(或对应脚本)
    • 重复分批直至全集群升级完成。
  • 完成升级
    • 全量验证通过后执行:hdfs dfsadmin -rollingUpgrade finalize(不可逆,清理旧版本元数据)。

三 停机升级步骤(无法滚动升级时)

  • 停止集群:$HADOOP_HOME/sbin/stop-dfs.sh
  • 备份与替换
    • 备份旧配置与元数据:cp -r $HADOOP_HOME/conf $HADOOP_HOME/conf.old,备份 dfs.namenode.name.dir
    • 解压新版本至目标目录并更新 HADOOP_HOME 环境变量。
  • 启动与升级
    • 启动 NameNode 并执行升级:$HADOOP_HOME/bin/hdfs namenode -upgrade
    • 监控升级进度:hdfs dfsadmin -upgradeProgress status/details
    • 启动 DataNode$HADOOP_HOME/sbin/start-dfs.sh
  • 验证与收尾
    • 运行 hdfs dfsadmin -reportNameNode Web UI(默认 9870 端口) 检查状态;
    • 业务验证通过后执行:hdfs dfsadmin -finalizeUpgrade 清理旧版本备份。

四 验证与回滚

  • 验证要点
    • 进程与 UI:用 jps 确认 NameNode/DataNode/ResourceManager/NodeManager 运行;访问 http://< namenode_host> :9870 查看集群与健康状态;
    • 集群报告:hdfs dfsadmin -report 检查容量、节点数、块数等;
    • 功能回归:执行 hadoop fs -puthadoop jar hadoop-mapreduce-examples.jar wordcount 等基础作业验证读写与计算链路。
  • 回滚与降级
    • 滚动升级中回滚(未执行 finalize):
      • 停止集群;
      • 执行:hdfs dfsadmin -rollingUpgrade rollback
      • 使用旧版本二进制与配置重启集群。
    • 停机升级回滚(升级后未 finalize):
      • 停止集群;
      • 执行:hdfs namenode -rollback
      • 使用旧版本重启 NameNode/DataNode
    • 重要限制:finalize 后不可回滚降级通常可在不丢用户数据的前提下进行,但回滚需停机且必须在滚动升级开始后、未完成 finalize 前执行。

五 关键注意事项

  • 配置与兼容性
    • 新版本可能引入 配置项变更/废弃HDFS 布局变化,务必逐项核对 core-site.xml、hdfs-site.xml 等;
    • 升级前在测试环境验证所有关键业务链路与参数生效。
  • 联邦集群
    • 每个命名空间 分别执行滚动升级的 prepare/start/finalize 流程。
  • 操作规范
    • 全程关注 $HADOOP_HOME/logs 日志与监控告警;
    • 分批滚动时控制并发度,避免一次性升级过多节点;
    • 明确 finalize 的风险(不可逆),建议在充分观察后再执行。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu HDFS版本升级流程是什么
本文地址: https://pptw.com/jishu/748677.html
Ubuntu HDFS高可用性怎么配置 Ubuntu HDFS存储策略怎么选

游客 回复需填写必要信息