Flink提供了多种部署方式,有Local模式、Standalone模式、YARN模式。本文只介绍Local模式。
1.环境准备
Java8以上(必备基础环境) #Local模式 只需要安装Java8及以上即可
Zookeeper(HA高可用需要环境)
Hadoop(YARN模式需要环境)
2.下载flink
下载地址:https://www.apache.org/dyn/closer.lua/flink/flink-1.15.0/flink-1.15.0-bin-scala_2.12.tgz
3.安装flink
Local Cluster模式是开箱即用的,直接解压安装包,修改配置文件后启动即可。
(1).解压安装包
(2).修改配置文件flink-conf.yaml
常用的一些配置
此处只修改 rest.bind-address 为0.0.0.0,这样可以访问webui的监控界面了
vim /usr/local/flink-1.15.0/conf/flink-conf.yaml
(3).启动flink
查看是否启动成功(可以看到有3个进程)
(4).访问Flink的Web UI
slot在Flink里面可以认为是资源组,Flink是通过将任务(Task)分成子任务(SubTask)并且将这些子任务分配到slot来并行执行程序。
4.运行官方例子SocketWindowWordCount.jar 为例看一下flink webUI和命令行提交任务的过程。
(1).环境准备
安装nc,nc工具功能类似于cat命令,但用于网络。它是一个命令行的工具,用于跨网络读取、写入和重定向数据。它被设计成一个可靠的后端工具,可以与脚本或其他程序一起使用。
(2).nc命令构造socket流的生产端
因为SocketWindowWordCount是读取的socket流中的数据,所以需要构造一下socket生产端,nc命令可以伪造一个socket流的生产端(在10.2.6.100上执行以下命令)
(3).Web UI提交任务
1).Add New选择任务
选择SocketWindowWordCount.jar文件(从linux中的/usr/local/flink-1.15.0/examples/streaming目录拷贝到windows系统)
2).点击name
填入命令行参数
3).点击Submit
(4).在nc生产端实时输入数据(10.2.6.100)
(5).flink程序实时输出
5.使用命令行提交任务SocketWindowWordCount.jar
注:需要开2个命令行窗口
(1).启动生产端
(2).命令行提交任务
(3).在nc生产端实时输入数据
(4).结果在webUI上查看
参考链接:https://flink.apache.org/
https://www.jianshu.com/p/1ebb2e6d34f0
https://zhuanlan.zhihu.com/p/374960643
https://www.cnblogs.com/zz-ksw/p/11988132.html