以 yarn 模式 Per-job 方式为例概述作业提交执行流程
当执行 executor() 之后,会首先在本地 client 中将代码转化为可以提交的
JobGraph
\\1. 如果提交为 Per-Job 模式,则首先需要启动 AM, client 会首先向资源系统申请资源, 在 yarn 下即为申请 container 开启 AM, 如果是 Session 模式的话则不需要这个步骤
\\2. Yarn 分配资源, 开启 AM
\\3. Client 将 Job 提交给 Dispatcher
\\4. Dispatcher 会开启一个新的 JobManager 线程
\\5. JM 向 Flink 自己的 Resourcemanager 申请 slot 资源来执行任务
\\6. RM 向 Yarn 申请资源来启动 TaskManger (Session模式跳过此步)
\\7. Yarn 分配 Container 来启动 taskManger (Session 模式跳过此步)8. Flink 的 RM 向 TM 申请 slot 资源来启动 task
\\9. TM 将待分配的 slot 提供给 JM
\\10. JM 提交 task, TM 会启动新的线程来执行任务,开始启动后就可以通过shuffle 模块进行 task 之间的数据交换
发布者:admin,如若转载,请注明出处:https://ai1024.vip/36682.html