flink文档刨析

flink任务运行方式

flink任务提交方式有3种 session、per-job、application三种

flink任务运行底座也有三种,Standalone、yarn、k8s

原则上一个flink任务运行的方式由3*3=9种,但是有些是没法搭配的

yarn:包括yarn-session 、yarn-per-job 、yarn-application

standalone:包括 standalone-session standalone-application,不支持per-job

k8s: 包括 k8s-session、k8s-per-job 、k8s-application

!!!!但是 per-job被官网废弃了,用application替代per-job!!!!

flink历史服务器

flink任务失败或停止之后,flink webui 就看不到了,因此日志就只能到yarn上去看或者taskmanager所在的服务器去看,这样很不方便,因此flink提供了历史服务器,能够看已经退出的flink任务,而且flink不管是standalone还是yarn都支持。

1)创建存储目录
hadoop fs -mkdir -p /logs/flink-job
2)在 flink-config.yaml中添加如下配置
jobmanager.archive.fs.dir: hdfs://hadoop102:8020/logs/flink-job
historyserver.web.address: hadoop102
historyserver.web.port: 8082
historyserver.archive.fs.dir: hdfs://hadoop102:8020/logs/flink-job
historyserver.archive.fs.refresh-interval: 5000
3)启动历史服务器
bin/historyserver.sh start
4)停止历史服务器
bin/historyserver.sh stop
5)在浏览器地址栏输入:http://hadoop102:8082  查看已经停止的 job 的统计信息

flink任务并行度、slot(槽位)、taskmanger数量

假如完成同一件事需要8个人,那么这个任务的并行度就是8,再假如一个人完成这件事需要使用一个工具台,也就是需要8个slot,再假如一个一个车间(taskmanager)只有6个工具台,那这个任务就有问题(有两人闲着)。

并行度:一个任务的并行量

slot(槽位):能够提供完成任务的环境的数量

再接着假如,一个车间(taskmanager)能够提供10个slot(槽位),请问并行度多少为最佳?

答案:当然是10个,每个人都不闲着。

上述任务是发生在一个车间(taskmanager),如果有n个车间(taskmanager),效率又会有n倍(约)提升

那么问题来了,在standalone和k8s底座上起多少个taskmanager是我们手动确定的,在yarn底座上运行的时候,yarn的资源有很多,不可能都用来运行taskmanager,是怎么确定运行taskmanager数量的呢?

答:在1.5版本之后,taskmanager的数量是动态计算,根据slot和并行度进行计算

翻译::::::::::::::
更新返工作业部署的配置
Flink重做的集群和作业部署组件改善了与资源管理器的集成,实现了动态资源分配。这些更改的一个结果是,在向YARN和Mesos提交应用程序时,您不再需要指定容器的数量。Flink会根据应用程序的并行性自动确定容器的数量。

尽管部署逻辑已完全重新设计,但我们的目标是避免不必要地更改以前的行为以实现平稳过渡。尽管如此,您应该在conf/flink-conf.yaml中更新或了解一些选项。

尚未完全支持分配具有多个插槽的taskmanager。因此,我们建议使用单个插槽配置taskmanager,即设置taskmanager.numberOfTaskSlots: 1
如果发现新部署模式存在任何问题,则始终可以通过配置mode: legacy切换回pre-1.5行为。
请通过发布到邮件列表或打开JIRA问题,向Flink社区报告您注意到的任何问题或可能的改进。

注意: 我们计划在下一版本中删除传统模式。

TaskManager 数 = Job 的最大并行度 / 每个TaskManager 分配的任务槽数,结果向上取整
相关推荐
samLi06205 分钟前
【更新】中国省级产业集聚测算数据及协调集聚指数数据(2000-2022年)
大数据
Mephisto.java8 分钟前
【大数据学习 | Spark-Core】Spark提交及运行流程
大数据·学习·spark
EasyCVR1 小时前
私有化部署视频平台EasyCVR宇视设备视频平台如何构建视频联网平台及升级视频转码业务?
大数据·网络·音视频·h.265
hummhumm1 小时前
第 22 章 - Go语言 测试与基准测试
java·大数据·开发语言·前端·python·golang·log4j
科技象限2 小时前
电脑禁用U盘的四种简单方法(电脑怎么阻止u盘使用)
大数据·网络·电脑
天冬忘忧3 小时前
Kafka 生产者全面解析:从基础原理到高级实践
大数据·分布式·kafka
青云交3 小时前
大数据新视界 -- Hive 数据仓库:构建高效数据存储的基石(下)(2/ 30)
大数据·数据仓库·hive·数据安全·数据分区·数据桶·大数据存储
zmd-zk3 小时前
flink学习(2)——wordcount案例
大数据·开发语言·学习·flink
电子手信3 小时前
知识中台在多语言客户中的应用
大数据·人工智能·自然语言处理·数据挖掘·知识图谱
隔着天花板看星星4 小时前
Kafka-Consumer理论知识
大数据·分布式·中间件·kafka