温馨提示×

怎样升级Ubuntu上的Hadoop

小樊
45
2025-12-24 16:30:06
栏目: 智能运维

Ubuntu上升级Hadoop的可执行方案

一 升级方式与前置检查

  • 方式选择
    • 使用 APT 包管理升级(系统级安装):适合通过 .deb 包部署的集群,升级简单、可回滚,推荐在 Ubuntu 上使用。
    • 使用 二进制包原地升级(tar 包部署):适合解压即用的安装方式,可控性强,需手工替换并迁移配置。
  • 前置检查
    • 查看当前版本:hadoop version,确认升级前后版本跨度与兼容性。
    • 备份关键数据:至少备份 HDFS 元数据目录(dfs.namenode.name.dir)配置文件(etc/hadoop),必要时全量备份重要数据目录。
    • 规划停机窗口与回滚方案:确认可停机时间、回滚触发条件与步骤。
    • 依赖与兼容性:核对 JDK 版本 与新版本 Hadoop 的要求(如 Hadoop 3.x 支持 JDK 8/11),并梳理生态组件(Hive、Spark、HBase 等)的兼容矩阵。

二 方式A 使用APT在Ubuntu上升级(推荐)

  • 同步升级所有 Hadoop 相关包(避免部分升级导致不一致)
    • 示例:sudo apt-get install <package_name1> <package_name2> ...
    • 若使用 Cloudera/Hortonworks 等发行版,请使用其仓库与工具(如 apt-get update && apt-get install hadoop 对应角色包)。
  • 升级后验证
    • 执行 hadoop version 确认新版本生效。
    • 启动服务(如使用 systemd 则 sudo systemctl start hadoop-...,或沿用 $HADOOP_HOME/sbin/start-*.sh)。
    • 运行基本健康检查:hdfs dfsadmin -reportyarn node -list,并做小文件读写冒烟测试。

三 方式B 二进制包原地升级(tar 包)

  • 准备与停机
    • 备份:cp -r $HADOOP_HOME/etc/hadoop /backup/hadoop_conf_$(date +%F);如有 NameNode 本地元数据目录,也请备份。
    • 停止:$HADOOP_HOME/sbin/stop-dfs.sh$HADOOP_HOME/sbin/stop-yarn.sh(或 stop-all.sh)。
  • 部署新版本
    • 下载并解压新版本到临时目录,例如:tar -xzvf hadoop-3.x.y.tar.gz -C /opt/
    • 方案A(替换安装目录):将旧目录重命名备份,新目录软链为 $HADOOP_HOME,如:
      • mv $HADOOP_HOME $HADOOP_HOME.bak-$(date +%F)
      • ln -s /opt/hadoop-3.x.y $HADOOP_HOME
    • 方案B(并行安装):保留旧目录,仅调整 $HADOOP_HOME 指向新目录。
  • 迁移与调整配置
    • 恢复配置:cp -r /backup/hadoop_conf_*/etc/hadoop/* $HADOOP_HOME/etc/hadoop/
    • 按需更新 hadoop-env.shcore-site.xmlhdfs-site.xmlyarn-site.xml 等(新版本可能新增/废弃参数)。
    • 检查环境变量:echo $HADOOP_HOME $JAVA_HOME $PATH,必要时在 ~/.bashrc/etc/profile.d/hadoop.sh 中修正并 source 生效。
  • 启动与升级 HDFS 元数据
    • 启动 NameNode 进入升级流程:$HADOOP_HOME/sbin/start-dfs.sh -upgrade
    • 观察升级进度:hdfs dfsadmin -upgradeProgress status(必要时 details/force)。
    • 验证通过后执行定版:hdfs dfsadmin -finalizeUpgrade(一旦定版将不可回滚,务必确认稳定)。
    • 如需回滚(定版前):$HADOOP_HOME/sbin/start-dfs.sh -rollback
  • 启动 YARN 并验证
    • $HADOOP_HOME/sbin/start-yarn.sh
    • 执行健康检查与冒烟测试(如 hdfs dfs -ls /yarn application -list)。

四 升级后验证与回滚策略

  • 快速验证清单
    • 版本:hadoop version
    • HDFS:hdfs dfsadmin -reporthdfs dfs -test -d /hdfs dfs -put/get 小文件
    • YARN:yarn node -listyarn application -list,提交示例作业(如 piwordcount
    • 日志:检查 NameNode/DataNode/ResourceManager/NodeManager 日志无异常
  • 回滚与应急
    • APT 场景:使用包管理器回退版本(如 sudo apt-get install hadoop=<old_version>),并恢复配置与数据目录。
    • 二进制场景:
      • 未完成定版:使用 -rollback 回到旧版本(需先停集群,再以升级方式启动旧版本)。
      • 已定版:从备份恢复 NameNode 元数据目录配置文件,再重启集群。

五 常见问题与注意事项

  • 配置与兼容性
    • 新版本可能调整默认端口、参数与依赖版本(如 Guava/Protobuf/SLF4J 等),需对照官方发行说明逐项校验,避免运行时冲突。
  • 升级顺序与依赖
    • 先升级 HDFS(必要时执行 -upgrade-finalizeUpgrade),再升级 YARN 与生态组件;确保客户端、调度器、计算框架版本匹配。
  • 安全与权限
    • 启用 Kerberos 的环境需确保 keytab 与新版本兼容,并在升级窗口内完成 kinit 与权限校验。
  • 监控与告警
    • 升级期间加强 NameNode/DataNodeYARN 监控,关注 Block 报告、容量使用、GC 时间、作业失败率 等关键指标。

0