《Flink原理、实战与性能优化》 —2.5 Flink源码编译

举报
华章计算机 发表于 2020/02/17 14:05:40 2020/02/17
【摘要】 本节书摘来自华章计算机《Flink原理、实战与性能优化》 一书中第2章,第2.5节,作者是张利兵 。

2.5 Flink源码编译

对于想深入了解Flink源码结构和实现原理的读者,可以按照本节的内容进行Flink源码编译环境的搭建,完成Flink源码的编译,具体操作步骤如下所示。

Flink源码可以从官方 Git Repository上通过git clone命令下载:

git clone https://github.com/apache/flink

读者也可以通过官方镜像库手动下载,下载地址为https://archive.apache.org/dist/flink/。用户根据需要选择需要编译的版本号,下载代码放置在本地路径中,然后通过如下Maven命令进行编译,需要注意的是,Flink源码编译依赖于JDK和Maven的环境,且JDK必须在1.8版本以上,Maven必须在3.0版本以上,否则会导致编译出错。

mvn clean install -DskipTests

(1)Hadoop版本指定

Flink镜像库中已经编译好的安装包通常对应的是Hadoop的主流版本,如果用户需要指定Hadoop版本编译安装包,可以在编译过程中使用-Dhadoop.version参数指定Hadoop版本,目前Flink支持的Hadoop版本需要在2.4以上。

mvn clean install -DskipTests -Dhadoop.version=2.6.1

如果用户使用的是供应商提供的Hadoop平台,如Cloudera的CDH等,则需要根据供应商的系统版本来编译Flink,可以指定-Pvendor-repos参数来激活类似于Cloudera的Maven Repositories,然后在编译过程中下载依赖对应版本的库。

mvn clean install -DskipTests -Pvendor-repos -Dhadoop.version=2.6.1-cdh5.0.0

(2)Scala版本指定

Flink中提供了基于Scala语言的开发接口,包括DataStream API、DataSet API、SQL等,需要在代码编译过程中指定Scala的版本,因为Scala版本兼容性相对较弱,因此不同的版本之间的差异相对较大。目前Flink最近的版本基本已经支持Scala-2.11,不再支持Scala-2.10的版本,在Flink 1.7开始支持Scala-2.12版本,社区则建议用户使用Scala-2.11或者Scala-2.12的Scala环境。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200