TT Bigdata TT Bigdata
首页
GitHub (opens new window)
JaneTTR

JaneTTR

数据酿造智慧,每一滴都是沉淀!
  • 开发环境

  • Ambari 编译

  • Bigtop 编译

  • Ambari 源码编译

  • 前端开发

  • 后端开发

  • 官方组件编译

    • 准备阶段

    • 理解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编译

    • Livy编译

    • Zeppelin编译

    • Zookeeper编译

    • Hbase编译

    • Hive编译

    • Kafka编译

    • Solr编译

    • Tez编译

  • 扩展组件编译

  • 源码编译
  • 官方组件编译
  • Hadoop编译
  • version-3.3.4
JaneTTR
2025-05-06
目录
适配背景
改造核心流程与配置
1. 编译脚本关键步骤对比
2. 分步说明与实践要点
前端依赖离线包提前解压
yarn.lock 清理保障镜像源有效
python3 虚拟环境包裹 site 阶段
3. 典型适配流程表

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

# 适配背景

在 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
当前版本 2026/08
08-29
02
把 Ambari Server HA 稳稳地跑起来
08-17
03
从一次启用操作追到主备就绪
08-17
更多文章>
Theme by Vdoing | Copyright © 2017-2026 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式