因为我本地的Hadoop版本为hadoop-2.6.0-cdh5.7.0,所以根据这个Hadoop版本来编译Flink
编译Flink源码前置条件
Maven 3.3.9 or newer
Java 8+
Scala
好,检查过后,没啥问题了。
Flink的源码托管在Github上面,先去那里看一看
https://github.com/apache/flink
今天我们要编译的Flink的版本为1.7.2,但是从上图可以看到,Flink已经release到1.8.1了,但1.8.x版本刚出来没多久,应该会有一些bug,而且我们暂时也不需要用到什么很新的功能,选择1.7.x够够的了。好,我们开干吧!
先从Github上拉取Flink的源码到本地
[hadoop@hadoop004 src]$ git clone https://github.com/apache/flink.git
接着如下命令
好,我们开始编译Flink,先进入到刚下载好的flink目录。
[hadoop@hadoop004 flink]$ mvn clean install -DskipTests -Pvendor-repos -Dhadoop.version=2.6.0-cdh5.7.0
然后就是漫长的等待
终于历经了一个小时,终于好了,太tm感人了
[hadoop@hadoop004 flink]$ cd /data/aaron/src/flink/flink-dist/target/
[hadoop@hadoop004 target]$ ls
archive-tmp classes maven-archiver
checkstyle-checker.xml flink-1.7.2-bin maven-shared-archive-resources
checkstyle-result.xml flink-dist_2.11-1.7.2.jar original-flink-dist_2.11-1.7.2.jar
checkstyle-suppressions.xml generated-test-sources test-classes
[hadoop@hadoop004 target]$ cd flink-1.7.2-bin/
[hadoop@hadoop004 flink-1.7.2-bin]$ ls
flink-1.7.2
[hadoop@hadoop004 flink-1.7.2-bin]$ cd flink-1.7.2/
[hadoop@hadoop004 flink-1.7.2]$ ls
bin conf examples lib LICENSE licenses log NOTICE opt README.txt
[hadoop@hadoop004 flink-1.7.2]$ cd ..
[hadoop@hadoop004 flink-1.7.2-bin]$ cp -r flink-1.7.2 /data/aaron/app/
至此,编译完成!!!