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版本适配改造(三)
        • 背景说明
        • 主要改造点
          • 1. bower.json 依赖本地化处理
          • 2. 离线依赖包下载与使用指引
      • [B]Hadoop版本适配改造(一)
  • Flink编译

  • Spark编译

  • Atlas编译

  • Superset编译

  • Zookeeper编译

  • Hbase编译

  • Hive编译

  • Kafka编译

  • Solr编译

  • Tez编译

  • Zeppelin编译

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

[O]Hadoop版本适配改造(三)1.0.0+

# 背景说明

Hadoop UI 在前端编译阶段,历史上采用 bower 直接联网拉取依赖。然而实际在国内或内网环境下,网络抖动、GitHub 访问不畅等问题频繁导致依赖包下载失败,严重影响编译效率和稳定性。

# 主要改造点

路径/文件位置 主要变更点 说明
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/bower.json 依赖本地化 所有 dependencies 全部指向本地 bower_components 目录
本地资源准备 离线包统一下载 配套给出全部依赖 tar 包,支持一键解压复用

# 1. bower.json 依赖本地化处理

原有 bower.json 的 dependencies 会直接从远程仓库拉取,如下图所示:

image-20250607162904936

注意

该模式下每次构建均依赖外网,遇到网络不佳、代理失效时,前端依赖经常拉取失败,CI/CD、离线部署极不友好。

为此,我们将所有依赖全部本地化,示例结构如下:


{
  "name": "yarn-ui",
  "dependencies": {
    "ember": "./bower_components/ember",
    "ember-cli-shims": "./bower_components/ember-cli-shims",
    "ember-cli-test-loader": "./bower_components/ember-cli-test-loader",
    "ember-data": "./bower_components/ember-data",
    "ember-load-initializers": "./bower_components/ember-load-initializers",
    "ember-qunit": "./bower_components/ember-qunit",
    "ember-qunit-notifications": "./bower_components/ember-qunit-notifications",
    "jquery": "./bower_components/jquery",
    "loader.js": "./bower_components/loader.js",
    "qunit": "./bower_components/qunit",
    "jquery-ui": "./bower_components/jquery-ui",
    "moment": "./bower_components/moment",
    "moment-timezone": "./bower_components/moment-timezone",
    "more-js": "./bower_components/more-js",
    "bootstrap": "./bower_components/bootstrap",
    "d3": "./bower_components/d3",
    "datatables": "./bower_components/datatables",
    "spin.js": "./bower_components/spin.js",
    "momentjs": "./bower_components/momentjs",
    "select2": "./bower_components/select2",
    "snippet-ss": "./bower_components/snippet-ss",
    "alasql": "./bower_components/alasql",
    "x2js": "./bower_components/x2js",
    "qunit-notifications": "./bower_components/qunit-notifications"
  },
  "resolutions": {
    "jquery": "1.9.1 - 3",
    "moment": ">= 2.6.0"
  }
}


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

此配置下,bower 仅查找本地 bower_components 目录,彻底避免外网拉取失败风险。

# 2. 离线依赖包下载与使用指引

为快速完成本地化依赖准备,可直接下载官方整理的离线包(所有 bower 依赖打包归档):

笔记

离线包下载地址: https://github.com/TtBigdata/ambari-env/blob/master/scripts/build/bigtop/patch/source/hadoop/yarn-ui-bower.tar.gz (opens new window)

下载后,直接解压到 hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp 目录下:

image-20250607163222972

解压完成后目录结构如下:

hadoop-yarn-ui/
  └── src/
      └── main/
          └── webapp/
              ├── bower_components/
              └── bower.json
1
2
3
4
5
6
#Hadoop#Bigtop#版本适配#Node.js#前端依赖#Maven
[O]Hadoop版本适配改造(二)
[B]Hadoop版本适配改造(一)

← [O]Hadoop版本适配改造(二) [B]Hadoop版本适配改造(一)→

最近更新
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
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式