首页 > 其他 > 详细

Spark-内核运行原理说明

时间:2020-03-20 16:22:41      阅读:41      评论:0      收藏:0      [点我收藏+]

spark 运行原理图如下

    说明:spark从job通过driver提交,到job运行,大致过程如下,jobt提交,启动driver进程,drver首先构建sparkContex,sqlContext里面3个重要组件,DAGscheduler,TaskScheduler,SparkUI,sparkContext

   构建完成后,通过taskScheduler 向spark集群Masker进行Application应用注册,Master寻找可用的work,并再work上启动executor进程,Executor反向注册到driver的TaskScheduler.

    具体如下

1) 通过sparksubmit(shell)提交应用程序application

2) 在应用提交的机器上创建driverActior进程,创建driver

3) Driver进程读取代码,首先创建sparkContext上下文

4) SparkContext上下文包括两个重要组件:

   TaskScheduler:

(a)      与master通信,注册应用

(b)     接收executro的反向注册,让driver获取到executor列表

(c)      接收DAGScheduler分解的task,将task按批次发放到executor上进行执行

 DAGScheduler:

(a)      解析代码,每执行到一个action,就会产生一个job,job传递给DAGSchedule

(b)     将job 分解为多个stage(stage根据遇到聚合如reduce算子进行划分),每个stage生成一个taskset集合

(c)      将taskset集合发送给TaskScheduler进行分发到executor上执行

  5) Master注册(注册机制见后面的master注册机制原理)

  Maste注册包括下面几个:

(a)      应用程序的注册

(b)     Driver的注册

(c)      Work节点注册

 

6) Master接收到application 申请后,通过资源调度算法,为应用分配资源

work节点启动executor进程,executor回反向注册到driver的taskScheduler上。

Executor每接收到一个task,就会重线程池中,获取一个线程,执行task任务

如下图

技术分享图片

Spark-内核运行原理说明

原文:https://www.cnblogs.com/javapand/p/12532251.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!