官方文档: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归档文件或部署您自己的作业!