首先会将jar包上传到机器(服务器上)
    1.在这台机器上会产生一个Application(也就是自己的spark程序)
    2.然后通过spark-submit(shell) 提交程序的时候
        2.1会启动一个driver(进程):spark-submit使用我们之前一直使用的那种提交模式去提交的时候,我们之前的提交模式,叫做Standalone,其实会通过反射的方式,创建和构造一个DriverActor进程出来
        driver进程会执行我们的Application应用程序(也就是我们自己编写的代码)
            我们在编写的所有spark应用程序的第一行:都是下构造sparkconf和SparkContext
            2.1.1SparkContext:在初始化的时候,做的最重要的两件事就是构造出来DAGSchedulerTaskScheduler        
                2.1.1.2DAGScheduler
                        2.1.1.2.1然后开始继续执行我们自己编写的代码。
                            每当执行到一个action算子就会生成一个job并且把这个job提交给DAGScheduler
                        2.1.1.2.2而此时DAGScheduler会将job划分为多个stage,然后每个stage创建一个Taskset
                        2.1.1.2.3并且会把Taskset提交到 TaskScheduler上
                        2.1.1.2.4而TaskScheduler会把Taskset里的每一个task提交到Executor上
                        2.1.1.2.5此时的Executor中会有一个线程池。 当Executor每接收到一个task时,都会用TaskRunner来封装task,然后从线程池里取出一个线程,执行这个task
TaskRunner:会将我们编写的代码,也就是执行的算子以及函数,拷贝、反序列化,然后执行task
Task有两种:ShuffleMapTask和ResultTask只有最后一个stage是ResultTask,之前的所有stage都是ShuffleMapTask。
 
所以最后整个spark应用程序的执行,就是stage分批次作为taskset提交到Executor执行,每个task针对RDD的一个partition,并行的执行我们定义的算子和函数。以此类推知道所有操作执行完成为止
 
                2.1.1.1TaskScheduler(有自己的后台进程)
                    TaskScheduler实际上,会负责通过它对应的一个后台进程,去连接Master
                    然后向Master注册Application
                2.1.1.1.1Master
                    当master接收到注册的Application时,会使用自己的资源调度算法,在spark集群的worker上,为这个application启动多个Executor
                2.1.1.1.2Worker
                    而此时Worker会为Application启动Executor(进程)
                2.1.1.1.3Executor
                    而当executor启动之后,会自己反向注册到TaskScheduler上去
                    当所有的Executor都反向注册到Driver上之后,Driver结束SparkContext初始化,
            
                            
 
 
 
 
 
 

小记--------spark内核架构原理分析的更多相关文章

  1. 小记--------spark的worker原理分析及源码分析

     

  2. springMVC课程笔记(一)springMVC架构原理分析

    一.springMVC架构原理分析 1.先搞清楚什么是springMVC: 其实springMVC是spring框架中的一个模块,springMVC和spring无需通过中间整合层整合,SpringM ...

  3. Spark之Task原理分析

    在Spark中,一个应用程序要想被执行,肯定要经过以下的步骤:          从这个路线得知,最终一个job是依赖于分布在集群不同节点中的task,通过并行或者并发的运行来完成真正的工作.由此可见 ...

  4. 11、spark内核架构剖析与宽窄依赖

    一.内核剖析 1.内核模块 1.Application 2.spark-submit 3.Driver 4.SparkContext 5.Master 6.Worker 7.Executor 8.Jo ...

  5. 01、Spar内核架构原理

        附件列表

  6. Spark- Spark内核架构原理和Spark架构深度剖析

    Spark内核架构原理 1.Driver 选spark节点之一,提交我们编写的spark程序,开启一个Driver进程,执行我们的Application应用程序,也就是我们自己编写的代码.Driver ...

  7. 大数据体系概览Spark、Spark核心原理、架构原理、Spark特点

    大数据体系概览Spark.Spark核心原理.架构原理.Spark特点 大数据体系概览(Spark的地位) 什么是Spark? Spark整体架构 Spark的特点 Spark核心原理 Spark架构 ...

  8. Spark运行时的内核架构以及架构思考

    一: Spark内核架构 1,Drive是运行程序的时候有main方法,并且会创建SparkContext对象,是程序运行调度的中心,向Master注册程序,然后Master分配资源. 应用程序: A ...

  9. (升级版)Spark从入门到精通(Scala编程、案例实战、高级特性、Spark内核源码剖析、Hadoop高端)

    本课程主要讲解目前大数据领域最热门.最火爆.最有前景的技术——Spark.在本课程中,会从浅入深,基于大量案例实战,深度剖析和讲解Spark,并且会包含完全从企业真实复杂业务需求中抽取出的案例实战.课 ...

随机推荐

  1. Konrad and Company Evaluation

    F. Konrad and Company Evaluation 参考:[codeforces 1230F]Konrad and Company Evaluation-暴力 思路:题意分析见参考博客. ...

  2. HDU 4738 Caocao's Bridges ——(找桥,求联通块)

    题意:给你一个无向图,给你一个炸弹去炸掉一条边,使得整个图不再联通,你需要派人去安置炸弹,且派去的人至少要比这条边上的人多.问至少要派去多少个,如果没法完成,就输出-1. 分析:如果这个图是已经是多个 ...

  3. 09.变态跳台阶 Java

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 思路 0:0 1:(1) 2:(1,1)(2) 3:(1,1,1)(2,1)( ...

  4. 【免费电子书】这可能是全网最齐的程序员编程电子书PDF合集了!

    [toc] 最近博主

  5. HearthstoneBot

    https://github.com/ChuckFork/HearthstoneBot Sigmund Card game automation framework Hooks game and lo ...

  6. Docker关键概念阐述

    要了解Docker需要对其体系结构中的几个关键概念有所了解,主要包括image.container.service.swarm.stack等. 在介绍这几个概念时,会使用到一个测试环境,这个测试环境是 ...

  7. vsftpd 配置上传失败553

    1查看ftp服务 ftp://ftpuser:123456@10.11.102.58:8023 2 getsebool -a | grep ftp 临时关闭 [root@xuegod63~]# get ...

  8. 抓包工具chlers的使用

    1,下载chlers破解版:https://zhubangbang.com/charles-crack-version-free-download-and-install-tutorial.html ...

  9. Ansible 直接请求远程主机执行命令

    ansible -all -i host1.abc.com, -m ping #注意主机名称后面的逗号,就算一台主机也是必须的.多台主机可以用逗号隔开 ansible all -i host1.abc ...

  10. Window Position

    IE, Safari, Opera, and Chrome all provide screenLeft and screenTop properties that indicate the wind ...