Spark 集群架构
架构图如下:
spark-集群模式
图中出现了以下几个实体:
-
Application :Spark的应用程序,由集群上的一个Driver结点和多个Executor组成。
-
Driver Porgram:客户端上的主应用程序,该进程运行主函数方法,在主函数中创建Spark执行的上下文即SaprkContext。
-
Cluster Manager:集群资源管理器,比如YARN就是一种Cluster Manager。目前的资源管理器有以下几种:
- Standalone:Spark的原生管理器
- Hadoop Yarn:由Yarn中的ResourceManager负责资源管理
- Mesos:由Mesos中的Mesos Master负责资源的管理
-
WorkerNode:从属节点,类似hadoop中的datanode,是负责执行作业的计算任务的工作节点。
-
Executor:在 WorkerNode上的工作进程,负责执行计算任务并将输出数据保存到内存或磁盘。
-
Task: 由Driver programme发送到 WorkerNode的作业的工作单元。
图中的方向箭头表示了一个作业被执行的过程:
-
用户程序创建SparkContext,它于Cluster Manager通信,申请计算作业需要的资源,Cluster Manager随之为用户程序分配计算所需资源,并启动在Worker Node上的Executor进程。
-
Driver Programme将一个大作业划分为了多个执行阶段,每个阶段都有Task,之后将Task发送给 Worker Node上的Executor执行。
-
Executor执行task并且向Driver发送执行报告。同时也向Cluster Manager反馈资源使用情况。
网友评论