美文网首页
Spark基本架构原理

Spark基本架构原理

作者: SunnyMore | 来源:发表于2018-05-25 15:47 被阅读71次
    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

    相关文章

      网友评论

          本文标题:Spark基本架构原理

          本文链接:https://www.haomeiwen.com/subject/zytujftx.html