Flink安装部署
Flink支持多种安装模式
- - Local—本地单机模式,学习测试时使用
- - Standalone—独立集群模式,Flink自带集群,开发测试环境使用
- - StandaloneHA—独立集群高可用模式,Flink自带集群,开发测试环境使用
- - On Yarn—计算资源统一由Hadoop YARN管理,生产环境使用
Local本地模式
原理
- Flink程序由JobClient进行提交
- JobClient将作业提交给JobManager
- JobManager负责协调资源分配和作业执行。资源分配完成后,任务将提交给相应的TaskManager
- TaskManager启动一个线程以开始执行。TaskManager会向JobManager报告状态更改,如开始执行,正在进行或已完成。
- 作业执行完成后,结果将发送回客户端(JobClient)
操作
1.下载安装包
https://archive.apache.org/dist/flink/
2.上传flink-1.12.0-bin-scala_2.12.tgz到node1的指定目录
3.解压
代码语言:javascript复制tar -zxvf flink-1.12.0-bin-scala_2.12.tgz
4.如果出现权限问题,需要修改权限
代码语言:javascript复制chown -R root:root /export/server/flink-1.12.0
5.改名或创建软链接
代码语言:javascript复制mv flink-1.12.0 flink
ln -s /export/server/flink-1.12.0 /export/server/flink
测试
1.准备文件/root/words.txt
vim /root/words.txt
代码语言:javascript复制hello me you her
hello me you
hello me
hello
2.启动Flink本地“集群”
代码语言:javascript复制/export/server/flink/bin/start-cluster.sh
3.使用jps可以查看到下面两个进程
- TaskManagerRunner
- StandaloneSessionClusterEntrypoint
4.访问Flink的Web UI
http://node1:8081/#/overview
5.执行官方示例
代码语言:javascript复制/export/server/flink/bin/flink run /export/server/flink/examples/batch/WordCount.jar --input /root/words.txt --output /root/out
6.停止Flink
代码语言:javascript复制/export/server/flink/bin/stop-cluster.sh
启动shell交互式窗口(目前所有Scala 2.12版本的安装包暂时都不支持 Scala Shell)
代码语言:javascript复制/export/server/flink/bin/start-scala-shell.sh local
执行如下命令
代码语言:javascript复制benv.readTextFile("/root/words.txt").flatMap(_.split(" ")).map((_,1)).groupBy(0).sum(1).print()
退出shell
:quit