深入理解Spark:核心思想与源码分析
上QQ阅读APP看书,第一时间看更新

2.4 Spark基本架构

从集群部署的角度来看,Spark集群由以下部分组成:

·Cluster Manager:Spark的集群管理器,主要负责资源的分配与管理。集群管理器分配的资源属于一级分配,它将各个Worker上的内存、CPU等资源分配给应用程序,但是并不负责对Executor的资源分配。目前,Standalone、YARN、Mesos、EC2等都可以作为Spark的集群管理器。

·Worker:Spark的工作节点。对Spark应用程序来说,由集群管理器分配得到资源的Worker节点主要负责以下工作:创建Executor,将资源和任务进一步分配给Executor,同步资源信息给Cluster Manager。

·Executor:执行计算任务的一线进程。主要负责任务的执行以及与Worker、Driver App的信息同步。

·Driver App:客户端驱动程序,也可以理解为客户端应用程序,用于将任务程序转换为RDD和DAG,并与Cluster Manager进行通信与调度。

这些组成部分之间的整体关系如图2-7所示。

图2-7 Spark基本架构图