Application:用户编写的 Spark 应用程序,包含驱动程序(Driver),和分布在集群中多个节点上运行的 Executor 代码,在执行过程中由一个或多个作业组成
Driver(驱动程序):运行 Application 中 main 函数并且创建 SparkContext,其中创建 SparkContext 的目的是为了准备 Spark 应用程序的运行环境,在 Spark 中由 SparkContext 负责与 clusterManager 通信,进行资源的申请,任务的分配和监控,当 Executor 部分运行完毕后,Driver 负责将 SparkCOntext 关闭。通常用 SparkContext 代表 Driver
Cluster Manager(集群资源管理器):集群上获取资源的外部服务
Standalone:Spark 原生的资源管理,由 Master 负责资源的管理
Hadoop Yarn:由 YARN 的 ResoureceManager 负责资源的管理
Mesos:由 MEsos 中的 Mesos Master 负责资源的管理
Worker(工作节点):集群中任何可以运行 Application 代码的节点,类似于 YARN 中的 NodeManager 节点。在 Standalone 模式中指的是通过 Slave 文件配置的 Worker 节点,在 Spark on Yarn 模式中是 NodeManager 节点
Master(总控进程):Spark Standalone 运行模式下的主节点,负责管理和分配集群资源来运行 Spark Application
Executor(执行进程):Application 运行在 Worker 节点上的一个进程,该进程负责运行 Task,并负责将数据存在内存或磁盘上,每个 Application 都有各自独立的一批 Executor