Spark 基本概念

时间:2022-12-14 20:56:42

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