论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
软件与程序人生
›
云原生
›
Flink学习条记----运行架构
Flink学习条记----运行架构
张国伟
金牌会员
|
2024-10-4 10:01:13
|
显示全部楼层
|
阅读模式
楼主
主题
947
|
帖子
947
|
积分
2841
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
1 组件
作业管理器(JobManager)、
资源管理器(ResourceManager)、
任务管理器(TaskManager)
分发器(Dispatcher)
2 YARN 两种模式
1Session-cluster 模式
Session-Cluster模式必要先启动集群,然后再提交作业,接着会向yarn申请一块空间后,资源永久保持不变。如果资源满了,下一个作业就无法提交,只能比及yarn中的其中一个作业执行完成后,释放了资源,下个作业才会正常提交。所有作业共享Dispatcher和ResourceManager;共享资源;得当规模小执行时间短的作业。
在yarn中初始化一个flink集群,开辟指定的资源,以后提交任务都向这里提交。这个flink集群会常驻在yarn集群中,除非手工克制。
2Per-Job-Cluster 模式
一个Job会对应一个集群,每提交一个作业会根据自身的情况,都会单独向yarn申请资源,直到作业执行完成,一个作业的失败与否并不会影响下一个作业的正常提交和运行。独享Dispatcher和ResourceManager,按需接受资源申请;得当规模大长时间运行的作业。
每次提交都会创建一个新的flink集群,任务之间相互独立,互不影响,方便管理。任务执行完成之后创建的集群也会消失。
3 四个运行时架构组件
1作业管理器(JobManager)
控制一个应用程序执行的主进程,也就是说,每个应用程序都会被一个差别的JobManager所控制执行。
1 会接收应用程序包:作业图(JobGraph)、逻辑数据流图(logical dataflow graph)和打包了所有的类、库和其它资源的JAR包
2 把任务作业图JobGraph转换成物理层面的数据流图,所有可以并发执行的任务
3 想资源管理器请求任务须要的资源,
4 将执行图上的任务分配到对应的TaskManager上进行任务的和谐
2 资源管理器
重要负责管理任务管理器(TaskManager)的插槽(slot),TaskManger插槽是Flink中定义的处理资源单位
1 面临JobManager的资源申请,将空闲的资源SLOT进行分配,不够可以启动TaskManager,进行资源的动态调解。
3 任务管理器
通常在Flink中会有多个TaskManager运行,每一个TaskManager都包含了一定数量的插槽(slots)
1 启动会向RS注册自己的SLOT
2 当JobManager获得资源申请时候,会把自己的SLOT资源提供给JOBM使用(分配任务)
4 分发器(Dispatcher)
将提交的应用移交给一个JobManager,也会启动一个WebUI,表现作业执行的信息
4任务提交换程
1 没有框架下任务提交换程
2 在YARN上摆设,的提交换程
这里RS是在yarn上的RS,然而JobManager是在一台NodeManager上的AM里面
流程简述
1. Flink任务提交后,Client向HDFS上传Flink的Jar包和配置
2. 向Yarn ResourceManager提交任务,ResourceManager分配Container资源
3. 关照对应的NodeManager启动ApplicationMaster,ApplicationMaster启动后加载Flink的Jar包和配置构建环境,然后启动JobManager
4. ApplicationMaster向ResourceManager申请资源启动TaskManager
5. ResourceManager分配Container资源后,由ApplicationMaster关照资源所在节点的NodeManager启动TaskManager
6. NodeManager加载Flink的Jar包和配置构建环境并启动TaskManager
7. TaskManager启动后向JobManager发送心跳包,并等候JobManager向其分配任务。
TaskManager 将心跳和统计信息汇报给 JobManager。TaskManager 之间以流的情势进行数据的传输
worker(TaskManager)都是一个JVM进程,其下面的SLOT任务共享JVM内存,淘汰task负载
Task Slot是静态的概念,是指TaskManager具有的并发执行本领,可以通过参数taskmanager.numberOfTaskSlots进行配置;而并行度parallelism是动态概念,即TaskManager运行程序时实际使用的并发本领,可以通过参数parallelism.default进行配置。
5 执行图
Task Slot是静态的概念,是指TaskManager具有的并发执行本领,可以通过参数taskmanager.numberOfTaskSlots进行配置;而并行度parallelism是动态概念,即TaskManager运行程序时实际使用的并发本领,可以通过参数parallelism.default进行配置。
StreamGraph -> JobGraph-> ExecutionGraph -> 物理执行图。
数据流图,工作图,执行图,物理执行图
1 JobGraph是优化数据流图,(将多个可以连结的节点连在一起,淘汰数据的序列化操作的斲丧)
2 ExecutionGraph :是JobGraph的并行化版本,是调度层最核心的数据结构。
3 物理执行图: 是JOB进行调度后,在TaskManager形成的一种执行图的概念,并不是一种数据结构
6 并行度
一个特定算子的子任务(subtask)的个数被称之为其并行度(parallelism)。
Stream在算子之间传输数据的情势可以是
one-to-one(forwarding)的模式
也可以是redistributing的模式,详细是哪一种情势,取决于算子的种类。
区别就是算子数据是否进行重新分区
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
张国伟
金牌会员
这个人很懒什么都没写!
楼主热帖
XAF新手入门 - 类型子系统(Types Info ...
JAVA 装箱拆箱--到底指什么呢? ...
MyBatis 查询数据库
[NOI2010] 航空管制
ThinkPHP5 远程命令执行漏洞
HarmonyOS(鸿蒙)开发一文入门 ...
RabbitMQ入门 -- 阿里云服务器安装Rabb ...
浅入浅出 1.7和1.8的 HashMap
基于 Dubbo Admin 实现同机房/区域优先 ...
来自学长的建议
标签云
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表