|NO.Z.00068|——————————|BigDataEnd|——|Hadoop&Flink.V01|——|Flink.v01|Flink SQL|作业提交|

一、作业提交
### --- Flink的jar文件并不是Flink集群的可执行文件,需要经过转换之后提交给集群转换过程:

~~~     在Flink Client中,通过反射启动jar中的main函数,
~~~     生成Flink StreamGraph和JobGraph。将JobGraph提交给Flink集群。
~~~     Flink集群收到JobGraph后,将JobGraph翻译成ExecutionGraph,
~~~     然后开始调度执行,启动成功之后开始消费数据
### --- 总结:

~~~     Flink的核心执行流程就是,把用户的一系列API调用,
~~~     转化为StreamGraph -- JobGraph --ExecutionGraph -- 物理执行拓扑(Task DAG)
~~~     Flink提交作业的核心过程图
~~~     PipelineExecutor:流水线执行器:
~~~     是Flink Client生成JobGraph之后,将作业提交给集群运行的重要环节

~~~     Session模式:AbstractSessionClusterExecutor
~~~     Per-Job模式:AbstractJobClusterExecutor
~~~     IDE调试:LocalExecutor
### --- Session模式:

~~~     作业提交通过: yarn-session.sh脚本
~~~     在启动脚本的时候检查是否已经存在已经启动好的Flink-Session模式的集群,
~~~     然后在PipelineExecutor中,通过Dispatcher提供的Rest接口提交Flink JobGraph
~~~     Dispatcher为每一个作业提供一个JobMaser,进入到作业执行阶段
~~~     Per-Job模式:一个作业一个集群,作业之间相互隔离。
~~~     在PipelineExecutor执行作业提交的时候,
~~~     可以创建集群并将JobGraph以及所有需要的文件一起提交给Yarn集群,
~~~     在Yarn集群的容器中启动Flink Master(JobManager进程),
~~~     进行初始化后,从文件系统中获取JobGraph,交给Dispatcher,之后和Session流程相同。
二、作业提交流程:流图:

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(26)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示