前言
Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。
原文链接
快速开始
环境准备
本文章主要在CentOS 7环境下安装,Flink唯一的要求是需要安装有效的Java 8.x.的用户,可以通过下面的命令查看当前JDK版本
1 | java -version |
如果是JDK8,则显示如下:
1 | [root@zyj ~]# java -version |
下载解压
1 | tar -xvf flink-*.tgz |
更换端口并启动
1 | [root@zyj flink-1.12.0]# vim conf/flink-conf.yaml |
rest.port
指定你想要设置的端口,这边设置为53742
1 | rest.port: 53742 |
启动并指定刚配置好的配置文件
1 | [root@zyj flink-1.12.0]# cd bin/ |
查看Flink是否运行
1 | [root@zyj conf]# ps -ef | grep flink |
通过isof
命令查看flink是否监听在53742端口上,其中6034为flink进程的PID,如下所示发现已在53742端口上监听
1 | [root@zyj conf]# lsof -p 6034 -nP | grep TCP |
访问http://localhost:53742
出现如下页面表示安装成功
运行例子
现在,我们将运行此Flink应用程序。它将从套接字读取文本,并且每5秒打印一次前5秒
内每个不同单词的出现次数,即处理时间的翻滚窗口,只要文字漂浮在其中。
我们使用netcat来充当本地服务器,netcat可以通过yum install -y netcat
来进行安装
1 | [root@zyj ~]# nc -l 9000 |
提交Flink任务
1 | [root@zyj bin]# ./flink run ../examples/streaming/SocketWindowWordCount.jar --port 9000 |
检查作业是否按预期运行
在我们刚netcat启动的服务器上输入想要的字符
1 | [root@zyj ~]# nc -l 9000 |
1 | [root@zyj flink-1.12.0]# tail -f log/flink-*-taskexecutor-*.out |
停止Flink
1 | ./bin/stop-cluster.sh |
常用链接
如果有小伙伴,想要一起交流学习的,欢迎添加博主微信。