Spark内核分析之Master的注册机制实现原理

        这篇文章我们来讨论一下Master的注册机制;那么有哪些信息需要注册到Master上面去呢?很简单,分别有Worker的注册,Driver的注册,Application的注册。明确了这个以后我们来看一张图;

Master注册流程图

关于Worker和Driver的注册,上面图中已经说的很详细了,我们着重来看看Application的注册流程是如何实现的。

1.在Driver注册完成之后,接着执行Application代码,初始化SparkContext,通过              SparkDeploySchedulerBackend的AppClient内部的线程,ClientActor发送RegisterApplication到Master进行注册; 2.Master接收到请求后,将Application信息写入到内存缓冲中,并将其加入到等待调度队列中; 3.使用持久化引擎将数据进行持久化操作,最后调用Schedule开始相关任务的调度执行;

下面我们看看spark源码是怎么对其进行实现的。

Application注册实现

解释:上图中的sender其实是代表了ClientActor,所以会讲Application的注册信息发送给ClientActor。

加入缓存调度队列实现

总结,本篇内容较短,但是完整的阐述了Worker,Driver,Application的注册机制,下篇会来阐述一下我们的Driver,Application注册完成以后的scheduler调度是如何实现的,同时也是非常非常重要的一个环节,欢迎关注。如需转载,请注明:

上一篇:Spark内核分析之Spark的HA源码分析

本篇:Spark内核分析之Master的注册机制实现原理

下一篇:Spark内核分析之Scheduler资源调度机制

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术分享

Git学习之图形用户界面客户端SmartGit结合Eclipse开发Android总结

1、GitHub官网创建仓库并找到克隆的仓库地址,如: https://github.com/PillarChen/MyFirstGit.git

22490
来自专栏北京马哥教育

Linux中find命令用法全汇总,看完就没有不会用的!

Linux 查找命令是Linux系统中最重要和最常用的命令之一。查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令。查找可以在各种条件下使用...

49340
来自专栏闵开慧

eclipse中执行程序显示找不到主类

eclipse中执行程序显示找不到主类 这种情况一般出现在工程中已编译有class文件的java文件,而后面新建的java则不会出现问题。这种情况说明工程bin...

37750
来自专栏hadoop学习

超详细hadoop集群服务器安装配置教程

虚拟机以及Linux系统安装在之前的两篇分享中已经详细的介绍了方法,并且每一步的都配图了。如果有朋友还是看不懂,那我也爱莫能助了。本篇主要就hadoop服务器操...

44300
来自专栏黑泽君的专栏

linux基本命令学习01

============================================================================= Un...

15510
来自专栏MasiMaro 的技术博文

如何将VS 2015中的项目上传到github

最近开始慢慢接触github,现在希望将自己平时写的小程序,上传到github上,以便以后有个参考,在遇到同样问题的时候不至于想不起来怎么做而到处找别人的例子。

81710
来自专栏Spark学习技巧

聊聊spark-submit的几个有用选项

15130
来自专栏Java技术分享

Git学习之图形用户界面客户端SmartGit结合Eclipse开发Android总结

1、GitHub官网创建仓库并找到克隆的仓库地址,如: https://github.com/PillarChen/MyFirstGit.git ? ? ? 2...

24260
来自专栏性能与架构

Mysql网络连接的性能配置项

max_conecctions:整个MySQL允许的最大连接数 这个参数主要影响的是整个MySQL应用的并发处理能力,当系统中实际需要的连接量大于max_con...

37160
来自专栏编程语言

Python:VScode 设置Python不同版本运行环境

1.首先本地安装有不同的Python的版本,比如2.7和3.5.mac下一般默认自带2.7版本。  终端输入侧  python -V 则显示默认版本号。而p...

14320

扫码关注云+社区

领取腾讯云代金券