
第一步:JDK环境准备
特别说明一下:官网要求Flink编译和使用的时候JDK版本必须是1.8以上,所以这里我们使用的额是1.8.0.221版本,建议大家JDK用1.8.0.191或者1.8.0.221以上的版本。不要用低于1.8.0.191的版本,低于1.8.0.191版本编译没有问题,但运行Flink程序的时候会出问题。JDK配置完之后,要检查一下,确保你的版本是OK的。
#JAVA_HOME export JAVA_HOME=/opt/modules/jdk1.8.0_221 export PATH=$PATH:$JAVA_HOME/bin
[kfk@bigdata-pro-m03 ~]$ java -version java version "1.8.0_221" Java(TM) SE Runtime Environment (build 1.8.0_221-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
第二步:Maven环境准备
Flink官网对Maven版本的要求是必须Maven3.x.x的,所以我分别测试了Maven3.2.5和Maven3.3.9这两个版本,编译都是没有问题。所以大家放心选择这两个版本。
需要对Maven中conf/settings.xml文件进行配置一下:
1)在Maven根目录创建一个仓库目录repository,配置的地址指定到这个repository目录
<localRepository>/opt/modules/apache-maven-3.3.9/repository</localRepository>
2)添加一个mirror
<mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
3)配置环境变量
#MAVEN_HOME export MAVEN_HOME=/opt/modules/apache-maven-3.3.9 export PATH=$PATH:$MAVEN_HOME/bin export MAVEN_OPTS="-Xmx4g -XX:MaxPermSize=1024M -XX:ReservedCodeCacheSize=1024m"
[kfk@bigdata-senior01 flink-1.9.0]$ mvn -version Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=1024M; support was removed in 8.0 Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T11:41:47-05:00) Maven home: /opt/modules/apache-maven-3.3.9
第三步:保证你的虚拟机可以访问外网,因为在编译的过程中要下载jar包的
具体怎么设置,这里就不多说 了!
第四步:下载Flink源码 Flink 1.9
下载地址:http://archive.apache.org/dist/flink/
第五步:开始编译
将源码tar包解压之后,我们进入的解压之后的工程根目录,开始执行命令:
注意:这里我们编译Hadoop指定的版本,也是Flink官网指定的可以编译Hadoop的几个版本,分别是Hadoop 2.4.1, 2.6.5, 2.7.5 or 2.8.3
我尝试了2.7.5和2.8.3的两个版本,编译都没有问题。只是在在编译过程中出现了一个小问题,稍等我们在说,好,我们选择一个2.8.3的版本开始编译,我再说说执行编译命令之前我们得环境:
JDK : 1.8.0.221 Maven : 3.3.9 Hadoop : 2.8.3 Flink源码版本:1.9
开始执行命令:
mvn clean install -DskipTests -Drat.skip=true -Dhadoop.version=2.8.3
慢慢等吧... 如果你的网络好,大概30多分钟
在这个过程中出现了一个问题,就是缺jar包的问题,编译过程会抛出这样一个错误:
[ERROR] Failed to execute goal on project flink-avro-confluent-registry: Could not resolve dependencies for project org.apache.flink:flink-avro-confluent-registry:jar:1.9-SNAPSHOT: Failure to find io.confluent:kafka-schema-registry-client:jar:3.3.1 in http://mav

本文详细介绍了如何在JDK 1.8环境下编译Flink 1.9源码,特别是针对Flink与Hadoop 2.8.3的版本匹配。在Maven 3.x.x配置完成后,通过下载Flink源码并执行特定编译命令解决可能出现的jar包缺失问题,最终成功编译出flink-1.9.0-hadoop2.8.3版本。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



