Spark Client启动原理探索
经过几天闲暇时间的学习,终于又理解的深入了一些,关于Spark Client如何提交作业也更清晰了点。
在整体的流程图上是这样的:
大体的思路就是应用程序通过SparkSubmit提交程序后,自动在当前的JVM中启动Driver,然后与Master通信创建Excutor执行相应的任务。
自己整理了下流程图
以及的组件图:
可以看到大概是下面的步骤:
- 新建SparkContext
- 创建对应的scheduler和schedulerBackend
val (sched, ts) = SparkContext.createTaskScheduler(this, master, deployMode)
_schedulerBackend = sched
_taskScheduler = ts
...
_taskScheduler.start()
- 启动scheduler的start方法,内部调用backend的start方法
- backend调用父类
CoarseGrainedSchedulerBackend
的start方法
override def start() {super.start()...client = new StandaloneAppClient(sc.env.rpcEnv, masters, appDesc, this, conf)client.start()
}
- 创建对应的drvierEndpoint
- 在backend的start()方法里面创建StandaloneAppClient
- 执行StanaloneAppClient对象的start方法,内部创建ClientEndpoint
DriverEndpoint和ClientEndpoint都会跟Master进行通信,接下来的处理就是编译驱动程序的代码,发送给excutor进行相应的处理。
转载于:https://www.cnblogs.com/xing901022/p/8319482.html
Spark Client启动原理探索相关推荐
- 4、Eureka 源码解析 之 Eureka Client 启动原理分析
在前面的一篇文章 3.Eureka 源码解析 之 Eureka Server 启动原理分析当中我们分析了一下 Eureka Server 的启动.在集群环境下 Eureka Server 相互之前需要 ...
- 深入分析Spark任务调度的原理--Java后端同学入门Spark编程系列
作者:陌北有棵树,Java人,架构师社区合伙人! 之前写了一篇:<我作为Java后端,分享一下入门Spark编程的经历!> 上篇是Spark入门的第一篇,写了一些关于Spark编程中RDD ...
- 第03课:Spring Boot 启动原理
引言 Spring Boot 大大简化了我们的开发配置,节省了大量的时间,确实比较方便.但是对于新手来说,如果不了解个中原理,难免会遇到坑. 本文作者将带领大家走近神秘的 Spring Boot,一步 ...
- 面试官:能说下 SpringBoot 启动原理吗?
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:硬刚一周,3W字总结,一年的经验告诉你如何准备校招! 个人原创100W+访问量博客:点击前往,查看更多 Spri ...
- 从无盘启动看 Linux 启动原理
作者:bobyzhang,腾讯 IEG 运营开发工程师 0. 故事的开始 0.1 为什么和做什么 最近家里买了对音响,我需要一个数字播放器.一凡研究后我看上了 volumio(https://volu ...
- spark任务shell运行_大数据系列:Spark的工作原理及架构
介绍 本Apache Spark教程将说明Apache Spark的运行时架构以及主要的Spark术语,例如Apache SparkContext,Spark shell,Apache Spark应用 ...
- springboot启动原理_SpringBoot启动原理及相关流程
一.springboot启动原理及相关流程概览 springboot是基于spring的新型的轻量级框架,最厉害的地方当属自动配置.那我们就可以根据启动流程和相关原理来看看,如何实现传奇的自动配置 二 ...
- Spring Boot:(二)启动原理解析
Spring Boot:(二)启动原理解析 前言 前面几章我们见识了SpringBoot为我们做的自动配置,确实方便快捷,但是对于新手来说,如果不大懂SpringBoot内部启动原理,以后难免会吃亏. ...
- Spring Boot(18)---启动原理解析
Spring Boot(18)---启动原理解析 前言 前面几章我们见识了SpringBoot为我们做的自动配置,确实方便快捷,但是对于新手来说,如果不大懂SpringBoot内部启动原理,以后难免会 ...
- Spark配置启动脚本分析
2019独角兽企业重金招聘Python工程师标准>>> 今天想停止spark集群,发现执行stop-all.sh的时候spark的相关进程都无法停止.提示: no org.apach ...
最新文章
- Python 基础 一
- Minio分布式集群示例:8个节点,每节点1块盘
- MAVEN简介之——settings.xml
- Minimum Inversion Number HDU - 1394(求一个数字环的逆序对+多种解法)
- Java元数据总结:Java注释的使用和定义
- C#开发笔记之04-如何用C#优雅的计算个人所得税?
- 数据逻辑讨论计算机,1绪论信息技术算法与程序福建教师招考.ppt
- Winform 分页用户自定义控件( ML.Pager.WinControl)
- 混合现实:未来七大航空制造技术之一!
- 闲鱼选品的6个维度,附赠35个爆款品类!
- 爬虫-反爬二:有道词典js加密
- MPLAB X IDE调试代码
- 常见浏览器User-Agent
- b站视频-尚硅谷jQuery教程张晓飞老师-笔记
- 1扩展组件 --FEBE
- 将“心”比心:心情好坏心脏知
- 小白装机后,电脑连接不上网络怎么办?
- 近段时间的学习碎片整理(7)
- 依赖注入神器:Dagger2详解系列
- 手把手教你!100行代码,用Python做一个“消灭病毒”的小游戏
热门文章
- Python进阶(十四) logging标准库
- 配置codeblocks 的养眼colour theme ;鼠标颜色与型状配置,界面汉化,以及调试入门
- leetcode 703. 数据流中的第K大元素(Kth Largest Element in a Stream)
- 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP 1
- Loadrunner 11检查点使用方法总结
- 玲珑学院 1138 - 震惊,99%+的中国人都会算错的问题
- 关于文章cisco漏洞4786
- Mac - 让NSView快捷的实现阴影效果
- 电脑是个神奇的东西!
- 《Java核心技术卷一》学习笔记(一)