install flink & IDEA Hello world
1. install flink
** 下载和解压 **
从下载页下载一个二进制的包,你可以选择任何你喜欢的Hadoop/Scala组合包。如果你计划使用文件系统,那么可以使用任何Hadoop版本。
进入下载目录
解压下载的压缩包
1 | cd ~/Downloads # Go to download directory |
2. start flink cluster
1 | ./bin/start-local.sh # Start Flink |
通过访问http://localhost:8081检查JobManager网页,确保所有组件都已运行。网页会显示一个有效的TaskManager实例。
3. run SocketWindowWordCount
现在, 我们可以运行Flink 应用程序。 这个例子将会从一个socket中读一段文本,并且每隔5秒打印每个单词出现的数量。 例如 a tumbling window of processing time, as long as words are floating in.
1 | $ nc -l 9000 |
1 | $ ./bin/flink run examples/streaming/SocketWindowWordCount.jar --port 9000 |
单词的数量在5秒的时间窗口中进行累加(使用处理时间和tumbling窗口),并打印在stdout。监控JobManager的输出文件,并在nc写一些文本(回车一行就发送一行输入给Flink) :
1 | $ nc -l 9000 |
译者注:mac下使用命令nc -l -p 9000来启动监听端口,如果有问题可以telnet localhost 9000看下监听端口是否已经启动,如果启动有问题可以重装netcat ,使用命令brew install netcat。
.out文件将被打印每个时间窗口单词的总数:
1 | $ tail -f log/flink-*-jobmanager-*.out |
使用以下命令来停止Flink:
1 | $ ./bin/stop-local.sh |
4. idea -> flink maven project
ref: https://www.jianshu.com/p/fdc4212422f7
选择Maven
然后选中create from archetype
在列表中找flink-quickstart
找不到的话,点击右边的add archetype
在弹出框中输入:
groupId:org.apache.flink
artifactId:flink-quickstart-java
version:1.11.1
repository:https://mirrors.huaweicloud.com/repository/maven/
从flink.apache.org下载flink-1.11.1-src.tgz,(下载地址:https://www.apache.org/dyn/closer.lua/flink/flink-1.11.1/flink-1.11.1-src.tgz)
也可以从https://github.com/中搜flink,然后点击apache/flink下载源码
将flink-1.11.1-src.tgz解压缩后,
找到子目录\flink-1.11.1-src\flink-1.11.1\flink-examples\flink-examples-batch\src\main\java\org\apache\flink\examples\java\wordcount
copy文件
将其下的WordCount.java文件及util文件夹复制到FlinkTest工程的以下子目录下
Flink-QuickStart-Java\src\main\java\org\example
然后到IDEA,会多出两个文件
修改WordCount.java
把WordCount.java中的
1.将package org.apache.flink.examples.java.wordcount改为
package org.example;
2.将import org.apache.flink.examples.java.wordcount.util.WordCountData;
改为
import org.example.util.WordCountData;
修改util/WordCountData.java
把package org.apache.flink.examples.java.wordcount.util改为
package org.example.util;
b)重新编译和打包
运行之:
在 {FLINK_HOME}/examples 创建 words.txt.
1 | ./bin/flink run -m localhost:8081 -c org.summer.WordCount examples/myflink-1.0-SNAPSHOT.jar --input examples/words.txt --output examples/result001.txt |
5. run flink in Idea
下载flink-1.13.0 安装包,这里面有flink网页服务用到的一个jar,
地址是:https://flink.apache.org/downloads.html
下载后解压,在lib目录下有个flink-dist_2.11-1.13.0.jar文件,记住此文件的位置,稍后会用到;
回到IDEA,在项目上点击右键,点击菜单Open Module Settings:
设置工作已经完成,由于StreamingJob的工作是读取本机9000端口的数据,所以我们要把9000端口的服务启动起来,不然StreamingJob运行时是连不上端口的,打开一个控制台,
执行命令:nc -l 9000
现在可以将StreamingJob运行起来,如下图,右键点击StreamingJob,选择Run ‘StreamingJob.main()’:即可启动flink任务,如果想打断点调试,请选择Debug ‘StreamingJob.main()’