flink 1.11 整合cdh jar包编译
-
下载
flink 1.11的源码下载地址: -
环境准备
- Cloudera Manager 6.1.1
- hadoop-cdh version 3.0.0
- scala_version 2.11
- mvn 需要安装
- git(主要想利用git中的shell,不想用的话可以使用power shell窗口命令行)
前提
需要在maven中配置cdh的源和aliyun的源(本文只讨论flink编译,不研究maven,默认已经做好)
开始编译
flink源码下载解压后里面是这个样子

如果已经安装好了git之后,鼠标右键打开git bash here

输入编译命令
粘贴进去,一把梭了!!!
mvn -T 2C clean install -DskipTests -Pvendor-repos -Dhadoop.version=3.0.0-cdh6.1.1 -Dscala-2.11 -Drat.skip=true

编译成功之后,如下图所示:

以上就是编译成功之后的样子,现在进入这个目录中flink-1.11.2\flink-dist\target\flink-1.11.2-bin将里面的文件夹压缩之后,就是一个可以拿去安装的flink包了。
其他问题
以上的步骤是根据flink1.10的编译jar包的过程,照葫芦画瓢做的。之前编译flink 1.10也已经成功了。但是在flink官网中,有一段描述。原文在这个链接当中传送门,我已经截图下来了,如下所示。
重点的是那个Warning中的内容,大概的意思是:从Flink 1.11开始,使用Flink - shaede hadoop-2-uber版本的Flink项目不再正式支持该版本。建议用户通过Hadoop类路径(见上面)提供Hadoop依赖项。

在上面的编译的过程中,我们指定了hadoop的版本为CDH的hadoop的版本,从官网的描述中来看,flink 1.11已经抛弃了直接集成hadoop的jar包的方式。所以在上文的编译的命令中,我认为可以直接去掉后面的-Dhadoop.version=3.0.0-cdh6.1.1 直接使用下述编译命令:
mvn -T 2C clean install -DskipTests -Pvendor-repos -Dscala-2.11 -Drat.skip=true
这种做法我还没有测试,如果有爱折腾的小伙伴可以试一下。值得肯定的是,通过没有修改命令之前的的编译操作,得到的flink的jar包是可用的。(亲测)
总结
本文记录了编译flink 1.11的全过程,由于我之前已经编译过flink 1.10的jar包,所以在本次编译flink 1.11版本的jar包可能会遇到很多关于maven的丢失包的问题。希望小伙伴们,静下心来慢慢处理。会解决掉的。如果你有什么更好的建议和其它高效的操作,请在下方留言。感谢大佬的每一次的指点。谢谢大佬们!
5232





