Spark Executor 概述

Spark Executor 工作原理:

1. 在CoarseGrainedExecutorBackend启动时向Driver注册Executor,其实质是注册ExecutorBackend实例,和Executor实例之间没有直接关系

2. CoarseGrainedExecutorBackend 是 Executor 运行所在的进程名称,Executor才是真正处理Task的对象。Executor内部是通过线程池的方式来完成Task的计算的

3. CoarseGrainedExecutorBackend 和 Executor是一一对应的

4. CoarseGrainedExecutorBackend 是一个消息通信体(其具体实现了ThreadSafeRPCEndpoint),可以发送信息给Driver并可以接受Driver中发过来的指令,例如启动Task等

5. 在Driver进程有两个至关重要的Endpoint:

a)    ClientEndpoint : 主要负责向Master 注册当前的程序, 是AppClient的内部成员;

b)   DriverEndpoint: 这是整个程序运行时候的驱动器,是CoarseGrainedSchedulerBackend的内部成员;

6. 在Driver中通过ExecutorData封装并注册ExecutorBackend的信息到Driver的内存数据结构executorMapData中;

7. 实际在执行的时候,DriverEndPoint会把信息写CoarseGrainedSchedulerBackend的内存数据结构executorMapData,所以说最终是注册给了 CoarseGrainedSchedulerBackend,也就是说CoarseGrainedExecutorBackend 掌握了为当前程序分配的所有的ExecutorBackend进程,而在每一个ExecutorBackend进程实例中会通过 Executor对象来负责具体Task的运行。

8. CoarseGrainedExecutorBackend 收到 DriverEndpoint 发送过来的 RegisteredExecutor 消息后启动 Executor 实例对象,而Executor实例对象是事实上负责真正Task计算的

Executor具体是如何工作的:

1. 当Driver发送过来Task的时候,其实是发送给了CoarseGrainedExecutorBackend这个RpcEndpoint, 而不是直接发送给了Executor

2. ExecutorBackend在收到Driver中发送过来的消息后会提供调用lauchTask来交给Executor去执行

时间: 2024-11-05 14:58:06

Spark Executor 概述的相关文章

Spark Executor内幕彻底解密(DT大数据梦工厂)

内容: 1.Spark Executor工作原理图: 2.ExecutorBackend注册源码解密: 3.Executor实例化内幕: 4.Executor具体是如何工作的? 1.Master发指令给Worker启动Executor: 2.Worker接受到Master发送来的指令,通过ExecutorRunner启动另外一个进程来运行Executor: 3.此时会启动粗粒度的ExecutorBackend(CoarseGrainedExecutorBackend): 4.CoarseGrai

Spark Executor Driver资源调度小结

一.引子 在Worker Actor中,每次LaunchExecutor会创建一个CoarseGrainedExecutorBackend进程,Executor和CoarseGrainedExecutorBackend是1对1的关系.也就是说集群里启动多少Executor实例就有多少CoarseGrainedExecutorBackend进程. 那么到底是如何分配Executor的呢?怎么控制调节Executor的个数呢? 二.Driver和Executor资源调度 下面主要介绍一下Spark

Spark Executor Driver资源调度汇总

一.简介 于Worker Actor于,每次LaunchExecutor这将创建一个CoarseGrainedExecutorBackend流程.Executor和CoarseGrainedExecutorBackend是1对1的关系.也就是说集群里启动多少Executor实例就有多少CoarseGrainedExecutorBackend进程. 那么究竟是怎样分配Executor的呢?怎么控制调节Executor的个数呢? 二.Driver和Executor资源调度 以下主要介绍一下Spark

Spark Executor内幕彻底解密:Executor工作原理图、ExecutorBackend注册源码解密、Executor实例化内幕、Executor具体工作内幕

本课主题 Spark Executor 工作原理图 ExecutorBackend 注册源码鉴赏和 Executor 实例化内幕 Executor 具体是如何工作的 Spark Executor 工作原理图 第一步:Master 发指令给 Worker 启动 Executor: 第二步:Worker 接收到 Master 发送过来的指令通过 ExecutorRunner 远程启动另外一个线程来运行 Executor: 第三步:通过发送 RegisterExecutor 向 Driver 注册 E

大数据技术之_19_Spark学习_05_Spark GraphX 应用解析 + Spark GraphX 概述、解析 + 计算模式 + Pregel API + 图算法参考代码 + PageRank 实例

第1章 Spark GraphX 概述1.1 什么是 Spark GraphX1.2 弹性分布式属性图1.3 运行图计算程序第2章 Spark GraphX 解析2.1 存储模式2.1.1 图存储模式2.1.2 GraphX 存储模式2.2 vertices.edges 以及 triplets2.2.1 vertices2.2.2 edges2.2.3 triplets2.3 图的构建2.3.1 构建图的方法2.3.2 构建图的过程2.4 计算模式2.4.1 BSP 计算模式2.4.2 图操作一

Spark(五十):使用JvisualVM监控Spark Executor JVM

引导 Windows环境下JvisulaVM一般存在于安装了JDK的目录${JAVA_HOME}/bin/JvisualVM.exe,它支持(本地和远程)jstatd和JMX两种方式连接远程JVM. jstatd (Java Virtual Machine jstat Daemon)——监听远程服务器的CPU,内存,线程等信息 JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序.设备.系统等植入管理功能的框架.JMX可以跨越一系列异构操作系统平台.

Spark内核概述

提交Spark程序的机器一般一定和Spark集群在同样的网络环境中(Driver频繁和Executors通信),且其配置和普通的Worker一致 1. Driver: 具有main方法的,初始化 SparkContext 的程序.Driver运行在提交Spark任务的机器上. Driver 部分的代码: SparkConf + SparkContext SparkContext: 创建DAGScheduler, TaskScheduler, SchedulerBackend, 在实例化的过程中R

spark SQL概述

Spark SQL是什么? 何为结构化数据 sparkSQL与spark Core的关系 Spark SQL的前世今生:由Shark发展而来 Spark SQL的前世今生:可以追溯到Hive Spark SQL的前世今生:Hive 到Shark(在Hive上做改进) Spark SQL的前世今生:Shark 到Spark SQL(彻底摆脱但是兼容Hive) Spark SQL的前世今生:Hive 到Hive on Spark

【Spark】概述

大数据数据处理模型: 1.Google的MapReduce是一个简单通用和自动容错的批处理计算模型.但,不适合交互式和流式计算! 2.Storm 3.Impala 4.GraphLab 5.Spark Spark: 伯克利大学提出, RDD概念(一种新的抽象的弹性数据集),MapReduce的一种扩展. RDD本质:在并行计算的各个阶段进行有效的数据共享. Spark兼容hadoop,使用Scala语言编写,支持Java和Python接口.可实现图计算,交互查询,流计算,批处理.