Spark基本架构原理

《Spark基本架构原理》 Spark基本架构原理.png

简要分析:

    1. Driver进程启动之后,会做一些初始化的操作;在这个过程中,就会发送请求到Master上,进行Spark应用程序的注册,其实就是让Master知道有一个新的Spark应用程序要运行;
    1. Master在接收到Spark应用程序的注册申请之后会发送请求给Worker,进行资源的调度和分配,这里资源主要事Executor的分配;
    1. Master是一个进程,主要负责资源的调度和分配,还有集群的监控等职责;
      Worker也是一个进程,主要负责两个任务,一个是用自己的内存来存储RDD的某个或某些Partition;另一个是启动其他进程和线程,对RDD上的Partition进行并行的处理和计算;
    1. Work接收到Master的请求之后,会为Spark应用启动ExecutorExecutor和Task其实就是负责对RDDPartition进行并行的计算了,也就是执行我们队RDD定义的,比如mapflatMapreduce等算子操作。
    1. Executor启动之后,会向Driver进行反注册。这样,Driver就知道哪些Executor是为它进行服务的了;
    1. Driver注册了一些Executor之后,就可以开始正式执行我们的Spark应用程序了。首先第一步就是创建初始RDD,读取数据源。
    1. HDFS文件内容被去读到多个Worker节点上,形成内存中的分布式数据集,也就是初始RDD
    1. Spark集群,有多个节点,这里的节点就是我们自己搭建的节点,也就是Standalone模式中slave文件中配置的节点;
    1. Driver会根据我们对RDD定义的操作,提交一大堆Task去Executor上;Executor接收到Task之后会启动多个线程来执行Task。
    1. Task就会对RDDPartition数据执行指定的算子操作,形成新的RDDPartition
    原文作者:SunnyMore
    原文地址: https://www.jianshu.com/p/5c94ef7220a6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞