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 分配的任务槽数,结果向上取整
相关推荐
用户Taobaoapi20143 分钟前
淘宝商品列表查询 API 接口详解
大数据
涛思数据(TDengine)1 小时前
taosd 写入与查询场景下压缩解压及加密解密的 CPU 占用分析
大数据·数据库·时序数据库·tdengine
DuDuTalk1 小时前
DuDuTalk接入DeepSeek,重构企业沟通数字化新范式
大数据·人工智能
大数据追光猿1 小时前
Qwen 模型与 LlamaFactory 结合训练详细步骤教程
大数据·人工智能·深度学习·计算机视觉·语言模型
Elastic 中国社区官方博客2 小时前
使用 Elastic-Agent 或 Beats 将 Journald 中的 syslog 和 auth 日志导入 Elastic Stack
大数据·linux·服务器·elasticsearch·搜索引擎·信息可视化·debian
对许3 小时前
Hadoop的运行模式
大数据·hadoop·分布式
天空卫士4 小时前
AI巨浪中的安全之舵:天空卫士助力人工智能落地远航
大数据·人工智能·安全·网络安全·数据安全
SelectDB技术团队6 小时前
云原生时代的架构革新,Apache Doris 存算分离如何实现弹性与性能双重提升
大数据·数据库·云原生·doris·存算分离
angen20188 小时前
kafka + flink +mysql 案例
flink·kafka
神秘打工猴8 小时前
数据仓库为什么要分层
大数据·数据仓库·spark