Spark 核心概念

Master

Spark 特有资源调度系统的 Leader。掌管着整个集群的资源信息,类似于 Yarn 框架中的 ResourceManager,主要功能:

1. 监听Worker,看 Worker 是否正常工作;

2. Master对Worker、Application等的管理(接受Worker的注册并管所有的Worker,接受Client提交的Application,调度等待的Application并向Worker提交)

Worker

Spark 特有资源调度系统的 Slave,有多个。每个 Slave 掌管着所在节点的资源信息,类似于 Yarn 框架中的 NodeManager,主要功能:

1. 通过Register注册到Master

2. 定时发心跳给Master

3. 根据Master 发送的 Application 配置进程环境,并启动 ExecutorBackend(执行 Task 所需的临时进程)

driver program(驱动程序)

每个Spark 应用程序都包含一个驱动程序, 驱动程序负责把并行操作发布到集群上.

驱动程序包含Spark 应用程序中的主函数, 定义了分布式数据集以应用在集群中.

在前面的wordcount案例集中, spark-shell 就是我们的驱动程序, 所以我们可以在其中键入我们任何想要的操作, 然后由他负责发布.

驱动程序通过SparkContext对象来访问Spark,SparkContext对象相当于一个到Spark 集群的连接.

在spark-shell 中, 会自动创建一个SparkContext对象, 并把这个对象命名为sc.

executor(执行器)

SparkContext对象一旦成功连接到集群管理器, 就可以获取到集群中每个节点上的执行器(executor).

执行器是一个进程(进程名: ExecutorBackend, 运行在 Worker节点上), 用来执行计算和为应用程序存储数据.

然后, Spark 会发送应用程序代码(比如:jar包)到每个执行器. 最后,SparkContext对象发送任务到执行器开始执行程序.

RDDs(Resilient Distributed Dataset)弹性分布式数据集

一旦拥有了SparkContext对象, 就可以使用它来创建 RDD 了. 在前面的文章中, 我们调用sc.textFile(...)来创建了一个RDD, 表示文件中的每一行文本. 我们可以对这些文本行运行各种各样的操作.

cluster managers(集群管理器)

为了在一个Spark 集群上运行计算,SparkContext对象可以连接到几种集群管理器(Spark’s own standalone cluster manager, Mesos or YARN).

集群管理器负责跨应用程序分配资源.

业术语列表


你可能感兴趣的:(Spark 核心概念)