美文网首页
Spark作业提交

Spark作业提交

作者: ryancao_b9b9 | 来源:发表于2020-05-03 22:23 被阅读0次

    一、提交流程图(Yarn Cluster模式)


    提交流程.png

    二、流程说明
    1.client向RM提交请求,并上传jar到HDFS
    这期间包括四个步骤:
    (a)连接到RM
    (b) 从 RM(Applications Manager)中获得metric、queue和resource等信息
    (c) 上传jar包
    (d) 设置运行环境和container上下文
    2.ASM 向 Scheduler 申请空闲 container
    3.Scheduler 向 ASM 返回空闲 container 信息(NM 等)
    4.RM(ASM)根据返回信息向 NM 申请资源。


    5.NM 分配创建一个container 并创建Spark Application Master(AM)[运行的是 Spark Driver,同时创建DAGScheduler、TaskScheduler等组件]
    6.AM启动后,和RM(ASM)通讯,请求根据任务信息向RM(ASM)申请 container 来启动 executor
    7.RM(ASM)将申请到的资源信息返回给AM
    8.AM 根据返回的资源信息区请求对应的 NM 分配 container 来启动 executor


    9.NM 收到请求会启动相应的 container 并启动 executor
    10.executor 启动成后反向向 AM 注册
    11.executor 和 AM 交互完成任务
    12.等到所有的任务执行完毕后,AM向ASM取消注册并释放资源

    三、Driver&Executor职责说明
    1、Driver
    Driver在任务提交过程中最主要解决如下几个问题:
    (a) RDD依赖分析,生成DAG
    (b)基于DAG将Job分割成为多个Stage
    (c)Stage确认后,即生成相应的Task,并将生成的Task分发到Executor执行

    2、Executor
    Executor节点在接收到执行任务的指令后,启动新的线程,运行接收到的任务并将任务的处理结果返回

    相关文章

      网友评论

          本文标题:Spark作业提交

          本文链接:https://www.haomeiwen.com/subject/frojghtx.html