Yarn部署模式下Flink单作业提交流程详解!!

Yarn部署模式下Flink单作业提交流程详解!!

Flink有三种部署模式,分别是会话模式(Session Mode),单作业模式(Per-Job Mode)和应用模式(Application Mode)。实际生产环境中,单作业模式较为常用,Flink无法独立完成单作业模式的部署,需要借助外部资源管理框架在实现,比如Yarn,k8s等资源管理框架,多数企业中Flink借助Yarn进行资源管理的情况比较多,下面详细降解flink在部署在Yarn上的单作业模式提交流程:

Yarn部署模式下Flink单作业提交流程详解!!_第1张图片

在单作业模式下,Flink集群不会预先启动,而是在提交作业时才会启动新的JobManager。具体流程如下:
1)客户端将作业提交给YARN的ResourceManager,在这一步中,会同时将Flink的jar包和配置提交到HDFS上,方便后续启动flink相关组件的容器;
2)YarnResourceManager会启动带有Flink Job Manager的Application Master;
3)JobManager中的JobMaster会向ResourceManager申请任务运行所需要的Slots;
4)ResourceManager再向Yarn的ResourceManager申请带有TaskManager的容器;
5)YarnResource会开启带有TaskManager的容器
6)TaskManager启动之后会向Flink的ResourceManager注册自己可用的slots
7)ResourceManager会通知TaskManager为新的作业提供slots
8)TaskManager会连接到对应的JobMaster并且提供slots
9)JobManager将需要执行的任务分发到TaskManager上去执行
可见,单作业模式与会话模式的区别在于JobManager的启动方式,以及省去了Dispatcher,在将作业提交到JobMaster之后的流程就与会话模式完全一样了。

你可能感兴趣的:(大数据,hadoop,flink,大数据)