天天看点

《深入理解Spark:核心思想与源码分析》——2.4节Spark基本架构

本节书摘来自华章社区《深入理解spark:核心思想与源码分析》一书中的第2章,第2.4节spark基本架构,作者耿嘉安,更多章节内容可以访问云栖社区“华章社区”公众号查看

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所示。

《深入理解Spark:核心思想与源码分析》——2.4节Spark基本架构

继续阅读