Flink 支持使用多种部署模式来满足不同规模应用的需求,常见的有单机模式,Standalone Cluster 模式,同时 Flink 也支持部署在其他第三方平台上,如 YARN,Mesos,Docker,Kubernetes 等。以下主要介绍其单机模式。
单机模式是一种开箱即用的模式,可以在单台服务器上运行,适用于日常的开发和调试。具体操作步骤如下:
安装部署
1. 前置条件
Flink 的运行依赖 JAVA 环境,故需要预先安装好 JDK。
2. 下载 & 解压 & 运行
Flink 所有版本的安装包可以直接从其官网进行下载,这里我下载的 Flink 的版本为 1.9.1
,要求的 JDK 版本为 1.8.x +
。 下载后解压到指定目录:
tar -zxvf flink-1.9.1-bin-scala_2.11.tgz -C /share/apps
不需要进行任何配置,直接使用以下命令就可以启动单机版本的 Flink:
bin/start-cluster.sh
如果想停止flink,命令如下:
bin/stop-cluster.sh
3. WEB UI 界面
Flink 提供了 WEB 界面用于直观的管理 Flink 集群,访问端口为 8081
:
Flink 的 WEB UI 界面支持大多数常用功能,如提交作业,取消作业,查看各个节点运行情况,查看作业执行情况等,大家可以在部署完成后,进入该页面进行详细的浏览。
作业提交
启动后可以运行安装包中自带的词频统计案例,具体步骤如下:
1. 开启端口
nc -lk 9999
2. 提交作业
bin/flink run examples/streaming/SocketWindowWordCount.jar --port 9999
该 JAR 包的源码可以在 Flink 官方的 GitHub 仓库中找到,地址为 :SocketWindowWordCount ,可选传参有 hostname, port,对应的词频数据需要使用空格进行分割。
3. 输入测试数据
a a b b c c c a e
4. 查看控制台输出
可以通过 WEB UI 的控制台查看作业统运行情况:
也可以通过 WEB 控制台查看到统计结果:
5. 停止作业
可以直接在 WEB 界面上点击对应作业的 Cancel Job
按钮进行取消,也可以使用命令行进行取消。使用命令行进行取消时,需要先获取到作业的 JobId,可以使用 flink list
命令查看,输出如下:
[root@hadoop001 flink-1.9.1]# ./bin/flink list
Waiting for response...
------------------ Running/Restarting Jobs -------------------
05.11.2019 08:19:53 : ba2b1cc41a5e241c32d574c93de8a2bc : Socket Window WordCount (RUNNING)
--------------------------------------------------------------
No scheduled jobs.
获取到 JobId 后,就可以使用 flink cancel
命令取消作业:
bin/flink cancel ba2b1cc41a5e241c32d574c93de8a2bc