龙空技术网

Flink源码分析 - 源码构建

大数据技术和人工智能 190

前言:

而今看官们对“apache源码分析”都比较讲究,看官们都想要学习一些“apache源码分析”的相关内容。那么小编同时在网摘上搜集了一些有关“apache源码分析””的相关资讯,希望同学们能喜欢,朋友们快快来学习一下吧!

本篇介绍一下如何从源码构建Flink,构建Flink源码是学习和研究Flink源码的基础,有助于更好的了解Flink。

环境准备

这里使用Ubuntu 14.04 LTS操作系统、Maven 3.0.5、Java 1.8.0_161来构建Flink 1.8,在构建之前一定要确认一下当前安装的Maven和JDK的版本,至少需要Maven 3.x和Java 8才可以构建。

构建源码

具体步骤如下:

#先查看下maven和Java版本#mvn -v#java -version#下载源码git clone 进入源码目录cd flink#切换到一个稳定分支git checkout release-1.8#构建源码#-DskipTests跳过执行测试程序#-Dfast跳过测试、QA插件和JavaDocs,加快构建速度#建议加上-Dfast参数,避免在构建的过程中会遇到各种各样的问题mvn clean install -DskipTests -Dfast

看到下面输出表示构建成功了。

[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 12:03.086s[INFO] Finished at: Wed Apr 28 10:38:46 CST 2019[INFO] Final Memory: 478M/1300M[INFO] ------------------------------------------------------------------------

至此,Flink就构建成功了。

测试

Flink已经构建好了,这里用 SocketWindowWordCount 的例子来测试一下,看看是否可以正常执行。首先按照下面的步骤启动Flink。

#在源码目录下执行./build-target/bin/start-cluster.sh#执行后输出如下,表示启动成功Starting cluster.Starting standalonesession daemon on host ubuntu.Starting taskexecutor daemon on host ubuntu.

启动成功后可以打开看到Flink的web UI,如下图所示。

使用nc命令监听指定端口。

nc -l 9002#然后随便输入点东西,比如像下面这样#这些东西在提交 SocketWindowWordCount Job之前或之后输入都是可以的hello worldword counthiflinkha ha

运行Flink测试example,这里用Flink WordCount Job来测试一下。

#在源码目录下执行,指定9002端口,这个端口要和刚刚 nc 命令监听的端口一致./build-target/bin/flink run ./build-target/examples/streaming/SocketWindowWordCount.jar --port 9002

查看SocketWindowWordCount Job的输出。

#在源码目录下执行tail -100f ./build-target/log/flink-*-taskexecutor-0-*.out#执行后输出如下hello : 1world : 1word : 1count : 1hi : 1flink : 1ha : 2

也可以在Flink web UI里查看输出,如下图所示。

标签: #apache源码分析