spark3.0教程:架构(Driver、Cluster Manager、Worker、Executor、Task、SparkContext)

架构图

  • Application:指用户编写的Spark应用程序

  • Cluster Manager:Spark on Yarn 模式下,指 ResourceManager

  • Driver:运行上述 Application 的 main() 函数,并创建 SparkContext

    • 创建 SparkContext 的目的:为了准备Spark应用程序的 运行环境,SparkContext负责与Cluster Manager通信,进行资源申请、任务的分配和监控等

    • 当Executor运行完后,Driver负责将SparkContext关闭,通常用SparkContext代表Driver

  • Worker Node: 运行Application代码的节点。在 Spark on Yarn 模式下就是NoteManager节点

  • Executor: Application运行在worker节点上的一个进程, 该进程负责运行某些Task, 并且负责将数据存到内存或磁盘上,每个Application都有各自独立的一批Executor

  • Task: 被送到某个Executor上的工作单元,相当于 MapReduce 中的MapTask和ReduceTask,是运行Application的基本单位