仿佛前世的密约,注定我们要在今生抵掌,然后一起创世,或者再次站成一排,慷慨赴死。——野夫
官网:https://flink.apache.org/zh/
安装jdk
1 | yum list java* |
然后安装
1 | yum install java-1.8.0-openjdk* -y |
查看版本
1 | java -version |
前往官网下载最新版,放进Centos
,然后进入目录
1 | cd /server/flink/ |
解压
1 | tar -xzf flink-*.tgz |
进入解压后的路径列出目录
1 | cd flink-1.14.0 |
这里bin
目录包含了flink
的二进制文件以及几个管理各种工作和任务的脚本
conf
目录就是放配置文件的,包含了flink-conf.yaml
examples
目录包含了一个包含使用Flink
的简单的Demo
我们启动:
1 | ./bin/start-cluster.sh |
顺便一提关闭命令为:
1 | ./bin/stop-cluster.sh |
简单看一下进程
1 | ps aux | grep flink |
我们本地访问一下
1 | curl localhost:8081 |
看来是防火墙问题
我们开放端口
1 | firewall-cmd --zone=public --add-port=8080/tcp --permanent |
成功进入控制台
然后启动例子,这个例子是用来统计单词数的
1 | ./bin/flink run examples/streaming/WordCount.jar |
查看运行输出的日志
1 | tail log/flink-*-taskexecutor-*.out |
来到控制台,可以看到我们刚刚执行完毕的这个任务
点进去可以查看详情:
对于这个任务,flink
有两个操作,一个是(source operator
),也就是源操作,用来从收集源读取数据
另一个是运算操作(transformation operator
),它统计单词个数
你可以点击TimeLine
查看时间线
可以看到它们几乎并行,这就是实时计算的最大特点,就是实时性!
其他的例子就不一一介绍了
1 | ls examples/streaming -l |