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

JaneTTR

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

  • Ambari 编译

  • Bigtop 编译

  • Ambari 源码编译

  • 前端开发

  • 后端开发

  • 官方组件编译

    • 准备阶段

    • 理解packages.gradle

    • 理解bigtop.bom

    • Hadoop编译

    • Flink编译

      • version-1.15.3

      • version-1.17.2

        • Flink_1.17.2编译
        • [O]Flink版本适配改造(三)
          • 背景说明
          • 一、设置国内 Node.js 与 npm 镜像源
          • 二、修改 npm install 执行逻辑
        • [O]Flink版本适配改造(四)
        • [O]Flink版本适配改造(五)
        • [B]Flink版本适配改造(一)
        • [B]Flink版本适配改造(二)
        • [B]Flink版本适配改造(三)
    • Spark编译

    • Livy编译

    • Zeppelin编译

    • Zookeeper编译

    • Hbase编译

    • Hive编译

    • Kafka编译

    • Solr编译

    • Tez编译

  • 扩展组件编译

  • 源码编译
  • 官方组件编译
  • Flink编译
  • version-1.17.2
JaneTTR
2025-05-06
目录
背景说明
一、设置国内 Node.js 与 npm 镜像源
二、修改 npm install 执行逻辑

[O]Flink版本适配改造(三)

# 背景说明

在编译 flink-runtime-web 模块时,Maven 会调用 frontend-maven-plugin 自动安装 Node.js 和 npm,并执行 npm install 等前端构建操作。但默认行为依赖国外源,极易导致下载失败或构建超时。

因此我们需调整 pom.xml 中插件配置,切换为国内镜像,并修改安装参数以增强稳定性。

# 一、设置国内 Node.js 与 npm 镜像源

我们首先修改 frontend-maven-plugin 插件的 install-node-and-npm 执行段,新增镜像地址配置。

原始写法:


<execution>
    <id>install node and npm</id>
    <goals>
        <goal>install-node-and-npm</goal>
    </goals>
    <configuration>
        <nodeVersion>v16.13.2</nodeVersion>
        <npmVersion>8.1.2</npmVersion>
    </configuration>
</execution>
1
2
3
4
5
6
7
8
9
10
11

推荐写法:


<execution>
    <id>install node and npm</id>
    <phase>generate-resources</phase>
    <goals>
        <goal>install-node-and-npm</goal>
    </goals>
    <configuration>
        <nodeVersion>v16.13.2</nodeVersion>
        <npmVersion>8.1.2</npmVersion>
        <nodeDownloadRoot>https://cdn.npmmirror.com/binaries/node/</nodeDownloadRoot>
        <npmDownloadRoot>https://registry.npmmirror.com/npm/-/</npmDownloadRoot>
    </configuration>
</execution>
1
2
3
4
5
6
7
8
9
10
11
12
13
14

新增了 <nodeDownloadRoot> 与 <npmDownloadRoot> 两个字段,注意 以使用阿里 NPM 镜像站,显著提升下载成功率。

国内镜像源配置

# 二、修改 npm install 执行逻辑

我们还需替换 npm install 的默认参数,以规避 ci 模式下对 package-lock.json 的严格依赖,同时添加代理配置与日志调试参数。

原始写法:


<execution>
    <id>npm install</id>
    <goals>
        <goal>npm</goal>
    </goals>
    <configuration>
        <arguments>ci --cache-max=0 --no-save ${npm.proxy}</arguments>
        <environmentVariables>
            <HUSKY_SKIP_INSTALL>true</HUSKY_SKIP_INSTALL>
        </environmentVariables>
    </configuration>
</execution>
1
2
3
4
5
6
7
8
9
10
11
12
13

推荐写法:


<execution>
    <id>npm install</id>
    <phase>process-resources</phase>
    <goals>
        <goal>npm</goal>
    </goals>
    <configuration>
        <arguments>install --unsafe-perm --verbose --progress</arguments>
        <npmRegistryURL>https://registry.npmmirror.com/</npmRegistryURL>
        <environmentVariables>
            <HUSKY_SKIP_INSTALL>true</HUSKY_SKIP_INSTALL>
            <HOME>${project.build.directory}/.npmhome</HOME>
        </environmentVariables>
    </configuration>
</execution>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

npm install 调整

#Flink#Bigtop#源码编译#版本适配#Maven
Flink_1.17.2编译
[O]Flink版本适配改造(四)

← Flink_1.17.2编译 [O]Flink版本适配改造(四)→

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