Flink编译(包括最新Flink1.12编译)

一、源码下载

1、github地址(选择对应的release版本)

https://github.com/apache/flink/tree/release-1.12

2、关于flink 分支的选择

最好选用release-xxx版本,少用tag版本

3、flink不同版本之间的编译区别

Flink不同版本间的编译区别,我的另一篇文档

二、编译

1、编译命令:

我的maven版本是3.25,也用了多线程编译,刚好我的版本也是官网推荐是3.25编译

cd xxxx/flink
mvn clean install -DskipTests -Dfast -T 4 -Dmaven.compile.fork=true  -Dscala-2.11

分解:
mvn clean install \
  -DskipTests \ # 跳过测试部分
  -Dfast \ # 跳过doc检查等
  -T 4 \ # 支持多处理器或者处理器核数参数,加快构建速度,推荐Maven3.3及以上
  -Dmaven.compile.fork=true #允许多线程编译,推荐maven在3.3及以上

2、我走过的坑

(1)flink-runtime-web这个包访问外网npm下载难,需要改一下这个包下的pom文件(执行编译命令前需要做的事)

搜索“ci --cache-max=0 --no-save”替换为“install -registry=https://registry.npm.taobao.org --cache-max=0 --no-save”
即:<arguments>install -registry=https://registry.npm.taobao.org --cache-max=0 --no-save</arguments>

3、找到编译好的Flink包

看到BUILD SUCCESS就说明编译成功了。

将flink/flink-dist/target/flink-1.12-SNAPSHOT-bin这个目录下的flink-1.12-SNAPSHOT包就是可以运行的flink包了。

推荐阅读更多精彩内容