脚本宝典收集整理的这篇文章主要介绍了|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流程相同。
以上是脚本宝典为你收集整理的|NO.Z.00068|——————————|BigDataEnd|——|Hadoop&Flink.V01|-------------------------------------------|Flink.v01|Flink SQL|作业提交|全部内容,希望文章能够帮你解决|NO.Z.00068|——————————|BigDataEnd|——|Hadoop&Flink.V01|-------------------------------------------|Flink.v01|Flink SQL|作业提交|所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。