Flink1.9 最新版本编译-Hadoop2.8.3 [完整版]

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

第一步: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 goa
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值