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编译

  • Flink编译

    • version-1.15.3

    • version-1.17.2

      • Flink_1.17.2编译
      • [O]Flink版本适配改造(三)
      • [O]Flink版本适配改造(四)
      • [O]Flink版本适配改造(五)
        • 编译适配总结:最终补丁整理
        • 完整 diff 补丁内容如下
      • [B]Flink版本适配改造(一)
      • [B]Flink版本适配改造(二)
      • [B]Flink版本适配改造(三)
  • Spark编译

  • Atlas编译

  • Superset编译

  • Zookeeper编译

  • Hbase编译

  • Hive编译

  • Kafka编译

  • Solr编译

  • Tez编译

  • Zeppelin编译

  • 组件编译-Bigtop
  • Flink编译
  • version-1.17.2
JaneTTR
2025-05-06
目录

[O]Flink版本适配改造(五)1.0.7+

# 编译适配总结:最终补丁整理

经过前几节的连续改造,我们已实现了 Node.js 安装加速、权限修复、依赖安装稳定化等关键优化。

下述补丁可直接应用于 Flink 1.17.2 的源码中版本验证 ,确保以下命令执行无误:

mvn install -Drat.skip=true -DskipTests -Dhadoop.version=3.3.4
1

# 完整 diff 补丁内容如下

以下为对 flink-runtime-web/pom.xml 的补丁:

Subject: [PATCH] fixed: 1.17.2 对于node 的一些加速
---
Index: flink-runtime-web/pom.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/flink-runtime-web/pom.xml b/flink-runtime-web/pom.xml
--- a/flink-runtime-web/pom.xml	(revision 207b5d7adfb63215c12896fce6c1eb55edd64c84)
+++ b/flink-runtime-web/pom.xml	(date 1746854832500)
@@ -247,6 +247,8 @@
 				</executions>
 			</plugin>
 
+
+			<!-- 1) 安装 Node + npm -->
 			<plugin>
 				<groupId>com.github.eirslett</groupId>
 				<artifactId>frontend-maven-plugin</artifactId>
@@ -254,33 +256,75 @@
 				<executions>
 					<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>
+				</executions>
+				<configuration>
+					<workingDirectory>web-dashboard</workingDirectory>
+				</configuration>
+			</plugin>
+			<!-- 2) 修复 npm 可执行权限 -->
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-antrun-plugin</artifactId>
+				<version>3.0.0</version>
+				<executions>
+					<execution>
+						<id>fix-npm-permissions</id>
+						<phase>generate-resources</phase>
+						<goals>
+							<goal>run</goal>
+						</goals>
+						<configuration>
+							<target>
+								<echo message=">>> chmod 755 web-dashboard/node/npm" />
+								<chmod file="${project.basedir}/web-dashboard/node/npm" perm="755"/>
+							</target>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+
+			<!-- 3) npm install -->
+			<plugin>
+				<groupId>com.github.eirslett</groupId>
+				<artifactId>frontend-maven-plugin</artifactId>
+				<version>1.11.0</version>
+				<executions>
 					<execution>
 						<id>npm install</id>
+						<phase>process-resources</phase>
 						<goals>
 							<goal>npm</goal>
 						</goals>
 						<configuration>
-							<arguments>ci --cache-max=0 --no-save ${npm.proxy}</arguments>
+							<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>
+
+					<!-- 4) ci-check -->
 					<execution>
 						<id>npm run ci-check</id>
+						<phase>process-resources</phase>
 						<goals>
 							<goal>npm</goal>
 						</goals>
 						<configuration>
-							<arguments>run ci-check</arguments>
+							<arguments>run ci-check --verbose</arguments>
 						</configuration>
 					</execution>
 				</executions>


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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#Flink#Bigtop#版本适配#Maven
[O]Flink版本适配改造(四)
[B]Flink版本适配改造(一)

← [O]Flink版本适配改造(四) [B]Flink版本适配改造(一)→

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