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 yarn 没有task日志 flink run -m yarn-cluster_flink

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 的控制台查看作业统运行情况:

flink yarn 没有task日志 flink run -m yarn-cluster_单机模式_02

也可以通过 WEB 控制台查看到统计结果:

flink yarn 没有task日志 flink run -m yarn-cluster_flink yarn 没有task日志_03

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