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