FLIP-6 Flink runtime设计文档摘要(一)

2019-03-16  本文已影响0人  WJL3333

这篇主要是组件的职责和功能

ResourceManager

根据不同的集群调度框架提供不同实现(YARN,Mesos)

主要任务

根据不同实现方式可以选择让ResourceManager感知到 task slot。(增加一个map变量即可实现)

如果slot足够的话2,3步骤省略


design-runtime-simple.png

TaskManager

同时和RM,JM进行信息交互。同时需要心跳信息来检测异常

与RM的交互
与JM的交互

JM的slot pool

JM有一个资源池记录TM提供的slot资源

JM的调度器从slot pool中获取slot来调度任务,这样即使RM挂了JM也可以不失去分配的资源

InstanceManager是当前slot pool的一个实现

SlotPool在无法满足[资源申请]的时候会尝试从RM中获取资源,如果RM挂了或者RM不能提供资源或者请求超时,则[资源申请]失败

SlotPool可以返还资源给RM,如果应用已经使用了最大资源后slotpool还有剩余

Dispatcher

Dispatcher 接受client的job提交,并在cluster manager上创建启动job

[图片上传失败...(image-fc02df-1552733550212)]这个设计是因为

容错

核心容错机制是任务重启,并从checkpoint中恢复状态


YARN

yarn-without-dispatcher.png

with dispatcher

yarn-with-dispatcher.png

容错方面:

RM和JM运行在AM进程中,异常检测和进程重启由YARN执行

JobGraph和库,会保存在AM的工作目录中,YARN会将他们保存在私有的HDFS目录中

上一篇 下一篇

猜你喜欢

热点阅读