Spark | 基础概念

Spark基础核心概念

Spark 任务提供多层分解的概念,Spark 组件将用户的应用程序分解为内部执行任务并提供执行容器,资源管理为 Spark 组件提供资源管理和调度。

应用程序(Application):

  • 应用程序(Application):由一个 Driver Program 和多个 Job 构成。
  • 作业(Job): RDD 中由 Action 操作所生成的一个或多个调度阶,即由多个 Stage 组成。
  • 调度阶段(Stage):也叫作任务集(Task Set),因 RDD 之间依赖关系拆分成多组任务集合。任务(Task):分发到 Executor 上的工作任务,任务最小的工作单元。
  • 执行器(Executor):真正执行 Task 的单元,一个 Worker Node/NM 上可以有多个 Executor。
  •  DAG Scheduler:面向调度阶段的任务调度器。负责接收 Spark 应用提交的作业,根据 RDD 的依赖关系划分调度阶段,并提交调度阶段给 Task Scheduler。
  •  Task Scheduler:面向任务的调度器,接受 DAG Scheduler 提交过来的调度阶段,然后把任务分发到 Work 节点运行,由 Work 节点的 Executor 来运行该任务。
  • Driver Program(驱动程序):构建 Spark Context、将 Job 转换为 DAG 图、将DAG 图划分为多个 Stage,从而根据分区生成 Task、根据 Task 要求向资源管理器申请资源、提交任务并检测任务状态。
  • RM( Resource Manager ) : 全局资源管理器,负责集群统一的资源管理、调度、分配等。

            处理客户端请求,例如客户端提交应用程序 Job。
            启动 AM、监控 AM 运行状态并在失败时重启它。
            监控 NM,获取 NM 资源使用情况和各个 Container 运行状态。

  • NM( Node Manager ) : 单个节点上的资源和任务管理器。

    处理来自 RM 的命令,向 RM 汇报本节点上的资源使用情况和各个 container 的运行状态。
           处理来自 AM 的命令,例如处理来自 AM 的 container 启动/停止等各种请求。

  • AM(Application Master ) : 负责每个 Job 生命周期内的所有工作。

         与 RM 调度器协商以获取资源(用 container 表示) 。将得到的任务资源进一步分配给内部的任务 Task 。

          与 NM 通信以启动/停止任务 。
          监控所有任务运行状态,并在任务运行失败时重新为任务申请资源以启动任务。

                      

 

 


Spark On Yarn模式

基于Yarn提交Spark任务有以下两种模式

Yarn-Client模式: Driver运行在Client上,如下图:

                  

(1) 客户端启动后直接运行应用程序,直接启动 Driver。
(2) Driver 初始化并生成一系列 Task。
(3) 客户端将 App Commands 发布到 Yarn。
(4) AM 为该 Job 在某个 NM 上分配一个 AM。
(5) AM 向 RM 申请资源,RM 返回 Executor 信息。
(6) AM 通过 RPC 启动相应的 Executor。
(7) Executor 启动后向 Driver 注册。
(8) Driver 向 Executor 分配 Task。
(9) Executor 执行结果写入文件或返回 Driver。

 

Yarn-Cluster模式: Driver运行在AM上,如下图

                  

(1) 客户端把作业提交到 Yarn。
(2) RM 为该 Job 在某个 NM 上分配一个 AM,NM 启动 App Master,AppMaster 启动 Driver。
(3) AM 启动后完成初始化作业,Driver 生成一系列 Task。
(4) AM 向 RM 申请资源,RM 返回 Executor 信息。
(5) AM 通过 RPC 启动相应的 Executor。
(6) Driver 向 Executor 分配 Task。
(7) Executor 执行结果写入文件或返回 Driver。

 


 

Spark作业基本运行原理:https://blog.csdn.net/chenjieit619/article/details/53421080

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值