官方文档:First steps | Apache Flink
版本:v2.0.0
下载Flink
Flink运行在所有类UNIX环境中,即Linux,Mac OS X和Cygwin(适用于Windows)。您需要安装Java 11。要检查安装的Java版本,请在终端中键入:
java -version
接下来,下载Flink的最新二进制版本,然后解压缩存档到指定目录 /usr/local/flink
bash
tar -xzf flink-*.tgz -C /usr/local/flink
浏览项目目录
导航到解压缩的目录,并通过发出以下命令列出内容:
chroma
$ cd flink-* && ls -l
你应该看到类似这样的东西:

现在,您可能需要注意:
- bin/目录包含
flink
二进制文件以及几个管理各种作业和任务的bash脚本 - conf/目录包含配置文件,包括Flink配置文件
- examples/目录包含可以与Flink一起使用的示例应用程序
修改配置文件
这步很重要,否则启动后无法访问 webUI 界面。踩坑血泪史啊!
/conf/flink-conf.yaml,其中 rest.bind-address 默认值为localhost,改成0.0.0.0

rest.bind-address: 0.0.0.0
启动和停止本地群集
要启动本地集群,请运行Flink附带的bash脚本:
chroma
$ ./bin/start-cluster.sh
你应该看到这样的输出:

Flink现在作为后台进程运行。您可以使用以下命令检查其状态:
chroma
$ ps aux | grep flink
您应该能够导航到localhost:8081的Web UI以查看Flink仪表板并查看集群是否已启动并运行。
要快速停止群集和所有正在运行的组件,您可以使用提供的脚本:
chroma
$ ./bin/stop-cluster.sh
提交Flink作业
Flink提供了一个CLI工具bin/flink,它可以运行打包为Java ARchives(Java ARchives)的程序并控制它们的执行。提交作业意味着将作业的文件和相关依赖项上传到正在运行的Flink集群并执行它。
Flink版本附带了示例作业,您可以在examples/文件夹中找到。
要将示例字数统计作业部署到正在运行的群集,请发出以下命令:
bash
$ ./bin/flink run examples/streaming/WordCount.jar
您可以通过查看日志来验证输出:
bash
$ tail log/flink-*-taskexecutor-*.out
示例输出:
chroma
(nymph,1)
(in,3)
(thy,1)
(orisons,1)
(be,4)
(all,2)
(my,1)
(sins,1)
(remember,1)
(d,4)
此外,您可以检查Flink的Web UI以监控集群和运行作业的状态。
您可以查看执行的数据流计划:

在这里,对于作业执行,Flink有两个操作员。第一个是源操作符,它从集合源读取数据。第二个操作符是转换操作符,它聚集单词的计数。了解有关DataStream运算符的更多信息。
您还可以查看作业执行的时间轴:

您已成功运行Flink应用程序!请随意从examples/文件夹中选择任何其他的JavaScript归档文件或部署您自己的作业!