文章目录
- 1.安装maven和jdk8
- 2.下载flink源码
- 3.解压
- 4.进入源码目录执行编译命令
- 5.碰到的问题
- 5.1 下载不到***jar包
- 5.2 Java heap space OutOfMemoryError
- 5.3 Failed to run task: 'npm install --cache-max=0 --no-save' failed
- 5.4 on project flink-table-planner_2.11: wrap: org.apache.commons.exec.ExecuteException: Process exited with an error: 240 (Exit value: 240)
- 5.5 RexSimplify.java:[2123,32] cannot find symbol [ERROR] symbol: method singleton(C) [ERROR] location: class com.google.common.collect.Range
- 6.直接放弃
1.安装maven和jdk8
maven 安装参考 :https://www.cnblogs.com/fuzongle/p/12825048.html
2.下载flink源码
下载src源码,不是bin二进制文件。官网寻找或者github寻找源码
https://flink.apache.org/downloads.html
https://github.com/apache/flink/releases
3.解压
tar -zxvf flink-1.12.0-src.tgz
4.进入源码目录执行编译命令
mvn clean install -DskipTests -Dfast -Pvendor-repos -Dhadoop.version=2.6.0-cdh5.15.1
mvn clean install -DskipTests -Dfast -Dhadoop.version=2.6.0-cdh5.15.1 -Dscala-2.12
mvn clean install -DskipTests -Dfast -Dhadoop.version=2.6.0-cdh5.15.1 -Dscala-2.12 -Dskip.npm -e
mvn clean install -DskipTests -Dfast -Dscala-2.12 -e -Dskip.npm -e
5.碰到的问题
5.1 下载不到***jar包
- maven 手动添加jar包
- https://mvnrepository.com/ 上查找对应版本jar的资源仓库地址,添加到maven的setting.xml文件里,重新下载
5.2 Java heap space OutOfMemoryError
/etc/profile 里增加maven内存参数
MAVEN_OPTS=-Xmx1024m
export MAVEN_OPTS
source /etc/profile
5.3 Failed to run task: ‘npm install --cache-max=0 --no-save’ failed
-
直接加maven打包参数-Dskip.npm即可搞定
-
修改flink-runtime-web/pom.xml的npm install处的configuration为install -g -registry=https://registry.npm.taobao.org --cache-max=0 --no-save
修改之后(后来又报下面一个run build错误,所以直接使用第一个解决方法了):
5.4 on project flink-table-planner_2.11: wrap: org.apache.commons.exec.ExecuteException: Process exited with an error: 240 (Exit value: 240)
编译命令不指定 scala版本了(不行)
flink/flink-table/flink-table-planner 文件夹下的pom.xml加入依赖:
<dependency>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.0</version>
</dependency>
5.5 RexSimplify.java:[2123,32] cannot find symbol [ERROR] symbol: method singleton© [ERROR] location: class com.google.common.collect.Range
6.直接放弃
自己编译碰到层出不穷的错误,直接下载别人编译好的吧,官网下载实在太慢了,不得不吐槽一下百度,搜的都是一堆垃圾信息,下面的地址还是去其它搜索引擎搜到的
https://repo.huaweicloud.com/apache/flink/flink-1.12.0/