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 分配的任务槽数,结果向上取整
相关推荐
字节跳动数据平台3 小时前
5000 字技术向拆解 | 火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
武子康8 小时前
大数据-239 离线数仓 - 广告业务实战:Flume 导入日志到 HDFS,并完成 Hive ODS/DWD 分层加载
大数据·后端·apache hive
字节跳动数据平台1 天前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
得物技术1 天前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark
大大大大晴天1 天前
Flink生产问题排障-HBase NotServingRegionException
flink·hbase
武子康1 天前
大数据-238 离线数仓 - 广告业务 Hive分析实战:ADS 点击率、购买率与 Top100 排名避坑
大数据·后端·apache hive
武子康2 天前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天2 天前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康4 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康5 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive