Flink入门(8)-Flink作业提交流程

本文介绍了Flink作业的提交过程,从Flink Client通过反射启动main函数生成FlinkStreamGraph和JobGraph,到Flink集群接收JobGraph并翻译成ExecutionGraph进行调度。讲解了Session模式和Per-Job模式下的作业提交,包括AbstractSessionClusterExecutor和AbstractJobClusterExecutor的执行方式,以及IDE调试时的LocalExecutor。在Session模式下,作业通过yarn-session.sh脚本提交,Dispatcher为每个作业分配JobManager;Per-Job模式则为每个作业创建独立集群,确保作业间隔离。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Flink作业提交流程

概述

1.在Flink Client中,通过反射启动jar中的main函数,生成FlinkStreamGraph和JobGraph,将JobGraph提交给Flink集群
2.Flink集群收到JobGraph(JobManager收到)后,将JobGraph翻译成ExecutionGraph,然后开始调度,启动成功之后开始消费数据。

在这里插入图片描述
在这里插入图片描述
pipelineExecutor有多种实现,
session模式下:AbstractSessionClusterExecutor
per-job模式下:AbstractJobClusterExecutor
IDE调试:LocalExecutor

Session模式:
作业提交通过yarn-seesion.sh脚本,在启动脚本的时候检查是否已经存在好的Flink-Session模式的集群,然后在PipelineExecutor中,通过Dispatcher提供的restful接口提交Flink JobGraph

Dispatcher为每一个作业提供一个JobManager,进入到作业执行阶段

Per-Job模式 一个作业一个集群,作业之间相互隔离
在pipelineExecutor 执行作业提交的时候,可以创建集群并将以及所需要的文件一起提交给yarn集群,在yarn集群容器中启动flink master(Job Manager)进程,进行初始化后,从文件系统获取JobGraph,交给Dispatcher,之后和session流程相同

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值