Spark on yarn的作业提交流程

一、YarnClient

二、YarnCluster

三、详细描述

  • 客户端(Client)通过YARN的ResourceManager提交应用程序。在此过程中,客户端进行权限验证,生成Job
    ID和资源上传路径,并将这些信息返回给客户端。
  • 客户端将jar包、配置文件、第三方包等文件上传到指定的HDFS路径。完成后,客户端再次向ResourceManager提交作业执行请求。
  • ResourceManager收到请求后,将其封装为一个任务,并将其插入Scheduler的任务队列中,等待空闲资源。
  • 一旦集群中有空闲资源,Scheduler将任务分配给NodeManager,NodeManager创建容器,并启动ApplicationMaster。
  • ApplicationMaster启动后,从HDFS中拉取jar包,解析数据流(DAG),根据数据流生成阶段(Stage),确定任务的并发度,并向ResourceManager申请资源。
  • ResourceManager接收到请求后,将任务封装为Task,并将其插入任务队列。
  • 一旦集群中有空闲资源,ResourceManager将任务分配给NodeManager,NodeManager启动容器,并与ApplicationMaster通信,以在容器中启动Executor进程。
  • Executor向ApplicationMaster注册,并申请任务。ApplicationMaster对任务进行解析,并将Task发送到Executor上。
  • Executor执行Task,并将执行结果或状态报告给ApplicationMaster。
  • 当所有任务执行完毕时,ApplicationMaster通知ResourceManager注销应用,回收资源。至此,整个作业的提交流程结束。
相关推荐
IT小哥哥呀33 分钟前
电池制造行业数字化实施
大数据·制造·智能制造·数字化·mom·电池·信息化
Xi xi xi36 分钟前
苏州唯理科技近期也正式发布了国内首款神经腕带产品
大数据·人工智能·经验分享·科技
yumgpkpm1 小时前
华为鲲鹏 Aarch64 环境下多 Oracle 、mysql数据库汇聚到Cloudera CDP7.3操作指南
大数据·数据库·mysql·华为·oracle·kafka·cloudera
祈祷苍天赐我java之术2 小时前
Redis 数据类型与使用场景
java·开发语言·前端·redis·分布式·spring·bootstrap
UMI赋能企业2 小时前
制造业流程自动化提升生产力的全面分析
大数据·人工智能
TDengine (老段)3 小时前
TDengine 数学函数 FLOOR 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
猫林老师4 小时前
HarmonyOS线程模型与性能优化实战
数据库·分布式·harmonyos
派可数据BI可视化5 小时前
商业智能BI 浅谈数据孤岛和数据分析的发展
大数据·数据库·数据仓库·信息可视化·数据挖掘·数据分析
jiedaodezhuti5 小时前
Flink性能调优基石:资源配置与内存优化实践
大数据·flink
Lx3526 小时前
Flink窗口机制详解:如何处理无界数据流
大数据