Flink_1.15.3编译1.0.0+
# 1. 构建环境准备
整个构建流程基于 Bigtop 提供的打包能力,依赖如下基础工具环境:
环境组件 | 推荐版本 | 安装参考 |
---|---|---|
JDK | 1.8 | ONEKEY——安装JDK1.8 |
Maven | 3.8.4 | ONEKEY——安装Maven3.8.4 |
Gradle | 内嵌于 Bigtop | ONEKEY——安装Gradle5.6.4 |
# 2. 编译命令执行
使用如下指令启动 Flink 的打包过程:
gradle flink-rpm -PparentDir=/usr/bigtop -Dbuildwithdeps=true -PpkgSuffix
1
此命令的含义如下:
-PparentDir
指定 Bigtop 工程根目录-Dbuildwithdeps=true
强制构建所需依赖组件-PpkgSuffix
添加版本后缀(可省略)
# 3. 下载依赖包过程
执行命令后,首先会检查 dl/
目录下是否存在所需的 Flink 源码压缩包:
如无则自动联网下载。建议提前手动放置压缩包以加快编译速度并支持离线构建。
# 4. 构建过程详解
+ cd /opt/modules/bigtop/build/flink/rpm//BUILD
+ cd flink-1.15.3
+ bash /opt/modules/bigtop/build/flink/rpm//SOURCES/do-component-build
++ dirname /opt/modules/bigtop/build/flink/rpm//SOURCES/do-component-build
+ . /opt/modules/bigtop/build/flink/rpm//SOURCES/bigtop.bom
++ ZOOKEEPER_VERSION=3.5.9
++ HADOOP_VERSION=3.3.4
++ HBASE_VERSION=2.4.13
++ HIVE_VERSION=3.1.3
++ TEZ_VERSION=0.10.1
++ OOZIE_VERSION=5.2.1
++ SOLR_VERSION=8.11.2
++ SPARK_VERSION=3.5.5
++ FLINK_VERSION=1.15.3
++ PHOENIX_VERSION=5.1.2
++ BIGTOP_GROOVY_VERSION=2.5.4
++ BIGTOP_UTILS_VERSION=3.2.0-SNAPSHOT
++ BIGTOP_SELECT_VERSION=3.2.0-SNAPSHOT
++ BIGTOP_JSVC_VERSION=1.2.4
++ ALLUXIO_VERSION=2.8.0
++ KAFKA_VERSION=2.8.1
++ YCSB_VERSION=0.17.0
++ ZEPPELIN_VERSION=0.10.1
++ GPDB_VERSION=5.28.5
++ AMBARI_VERSION=2.7.5
++ BIGTOP_AMBARI_MPACK_VERSION=2.7.5
++ LIVY_VERSION=0.7.1
++ RANGER_VERSION=2.4.0
++ SQOOP_VERSION=1.4.7
++ REDIS_VERSION=7.4.0
++ DOLPHINSCHEDULER_VERSION=3.2.2
++ DORIS_VERSION=2.1.7
++ NIGHTINGALE_VERSION=7.7.2
++ CATEGRAF_VERSION=0.4.1
++ VICTORIAMETRICS_VERSION=1.109.1
++ CLOUDBEAVER_VERSION=24.3.3
++ CELEBORN_VERSION=0.5.3
++ OZONE_VERSION=1.4.1
++ IMPALA_VERSION=4.4.1
++ TRINO_VERSION=474
++ HUDI_VERSION=1.0.1
++ PAIMON_VERSION=1.1.0
++ JDK_VERSION=1.8
++ SCALA_VERSION=2.12.13
+ '[' x86_64 = powerpc64le ']'
+++ dirname /opt/modules/bigtop/build/flink/rpm//SOURCES/do-component-build
++ cd /opt/modules/bigtop/build/flink/rpm//SOURCES/../../../..
++ pwd
+ git_path=/opt/modules/bigtop
+ cmd_from='cd ../.. && husky install flink-runtime-web/web-dashboard/.husky'
++ sed -e 's/[&\\/]/\\&/g; s/$/\\/' -e '$s/\\$//'
+ repl_from='cd ..\/.. \&\& husky install flink-runtime-web\/web-dashboard\/.husky'
+ [[ /opt/modules/bigtop/build/flink/rpm//SOURCES/do-component-build == *rpm* ]]
+ package_json_path=build/flink/rpm/BUILD/flink-1.15.3/flink-runtime-web/web-dashboard
+ cmd_to='cd /opt/modules/bigtop && husky install build/flink/rpm/BUILD/flink-1.15.3/flink-runtime-web/web-dashboard/.husky'
++ sed -e 's/[&\\/]/\\&/g; s/$/\\/' -e '$s/\\$//'
+ repl_to='cd \/opt\/modules\/bigtop \&\& husky install build\/flink\/rpm\/BUILD\/flink-1.15.3\/flink-runtime-web\/web-dashboard\/.husky'
+ sed -i 's/cd ..\/.. \&\& husky install flink-runtime-web\/web-dashboard\/.husky/cd \/opt\/modules\/bigtop \&\& husky install build\/flink\/rpm\/BUILD\/flink-1.15.3\/flink-runtime-web\/web-dashboard\/.husky/
' flink-runtime-web/web-dashboard/package.json
+ mvn -X install -Drat.skip=true -DskipTests -Dhadoop.version=3.3.4
Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)
Maven home: /opt/modules/apache-maven-3.9.9
Java version: 1.8.0_202, vendor: Oracle Corporation, runtime: /opt/modules/jdk1.8.0_202/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "5.15.167.4-microsoft-standard-wsl2", arch: "amd64", family: "unix"
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
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
我们从日志中提取出最终的实际 Maven 编译命令如下:
mvn -X install -Drat.skip=true -DskipTests -Dhadoop.version=3.3.4
1
# 5. 编译时间与系统资源消耗
整个 Flink 编译过程较长,建议至少预留 4C8G 的资源与 10GB 以上磁盘空间。一般在 1~2 小时之间完成。
# 6. 编译输出结果
构建完成后,可在以下目录中找到构建好的 RPM 包:
/opt/modules/bigtop/output/flink/noarch/
1
如下图所示:
# 7.涉及修改点
按顺序修改即可