TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)
  • 准备阶段

  • 理解packages.gradle

  • 理解bigtop.bom

  • Hadoop编译

    • version-3.3.4

      • Hadoop_3.3.4 编译实战
      • [O]Hadoop版本适配改造(一)
      • [O]Hadoop版本适配改造(二)
      • [O]Hadoop版本适配改造(三)
      • [B]Hadoop版本适配改造(一)
        • 适配背景
        • 改造核心流程与配置
          • 1. 编译脚本关键步骤对比
          • 2. 分步说明与实践要点
          • 前端依赖离线包提前解压
          • yarn.lock 清理保障镜像源有效
          • python3 虚拟环境包裹 site 阶段
          • 3. 典型适配流程表
  • Flink编译

  • Spark编译

  • Atlas编译

  • Superset编译

  • Zookeeper编译

  • Hbase编译

  • Hive编译

  • Kafka编译

  • Solr编译

  • Tez编译

  • Zeppelin编译

  • 组件编译-Bigtop
  • Hadoop编译
  • version-3.3.4
JaneTTR
2025-05-06
目录

[B]Hadoop版本适配改造(一)1.0.0+

# 适配背景

在 Bigtop 体系下编译 Hadoop 及相关组件生成 RPM 包时,常常会遇到前端依赖网络拉取慢、依赖源不可达,以及 python 版本不兼容(尤其是 EL7 环境缺失 python3)等典型问题。为实现稳定、快速、一致的本地/离线构建,本次对编译脚本做了多处适配改造。

# 改造核心流程与配置

Hadoop 构建链路适配与本地包逻辑

# 1. 编译脚本关键步骤对比

原始大致流程:

# Build artifacts
mvn $BUNDLE_SNAPPY -Pdist -Pnative -Psrc -Pyarn-ui -Dtar ${MAVEN_OPTS} install ${EXTRA_GOALS} "$@"
mvn site site:stage ${MAVEN_OPTS} $@
1
2
3

适配后关键增强:

# 解压 yarn-ui 前端离线依赖,彻底规避网络问题
tar -zxvf ../../SOURCES/yarn-ui-bower.tar.gz -C ./hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp

# 清理 yarn.lock,确保采用指定 npm 镜像源
rm -rf ./hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/yarn.lock

# 构建主流程,开启 Maven debug
mvn -X $BUNDLE_SNAPPY -Pdist -Pnative -Psrc -Pyarn-ui -Dtar ${MAVEN_OPTS} install ${EXTRA_GOALS} "$@"

# 进入 python3 虚拟环境,兼容 EL7 系统要求
source /opt/modules/virtual_env/hadoop_py37/bin/activate
python --version
mvn -X site site:stage ${MAVEN_OPTS} "$@"
deactivate
python --version
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 2. 分步说明与实践要点

# 前端依赖离线包提前解压

提示

通过预先下载并解压 yarn-ui-bower.tar.gz,将所有前端包直接放到 webapp 目录,有效避免 npm/bower 依赖拉取失败,提升构建成功率,适合所有内网/离线场景。

# yarn.lock 清理保障镜像源有效

删除 yarn.lock 文件可以防止前端依赖被历史锁定,确保 npm/yarn 拉取时能正确走企业内镜像、阿里云源等,解决偶发依赖装包失败问题。

# python3 虚拟环境包裹 site 阶段

警告

EL7 默认无 python3,部分 Hadoop 构建环节必须 python3 环境。使用 python 虚拟环境(如 /opt/modules/virtual_env/hadoop_py37 ),临时激活后再执行 site 任务,避免因环境不符导致的脚本异常。

# 3. 典型适配流程表

步骤 目的/作用 建议操作
前端依赖离线化 构建不依赖外网,确保包齐全 解压 yarn-ui-bower.tar.gz
清理 yarn.lock 保证依赖可根据新源/新版本刷新 构建前 rm -rf yarn.lock
python3 虚拟环境 EL7 系统兼容 python3 脚本运行 activate/deactivate 包裹 site
#Hadoop#Bigtop#RPM#构建优化
[O]Hadoop版本适配改造(三)
Flink_1.15.3编译

← [O]Hadoop版本适配改造(三) Flink_1.15.3编译→

最近更新
01
Pandoc 缺失导致 SparkR 构建失败
06-08
02
Cyrus SASL/GSASL 缺失解决
06-07
03
Hadoop_3.3.4 编译实战 1.0.0+
06-06
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式