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资源调度机制

下一篇
举报

扫码关注云+社区

领取腾讯云代金券