文档章节

spark内核揭秘-12-AppClient注册Masters

stark_summer
 stark_summer
发布于 2015/01/23 10:10
字数 360
阅读 87
收藏 0

注册Master有两种,一种是registerWithMaster方法,一种是tryRegisterAllMasters方法,前者是单Master的情况,后者是多Master,一般情况下是满足HA机制,我们看一下registerWithMaster方法:


此时会调用tryRegisterAllMasters方法:


此时通过Akka通过消息机制发送消息给Master来注册程序,RegisterApplication是一个case class,来封装消息:


我们进入Master的源代码:




看一下接受客户端发送过来消息RegisterApplication的代码如下所示:



此时首先使用ApplicationInfo构建一些准备信息,然后会导致registerApplication代码的调用:

1、createAppliction:


2、registerApplication:


代码中就是一个注册应用的过程。

3、sender ! RegisteredApplication(app.id, masterUrl)方法是回复给发送者消息:


3.1、上面代码中的changeMaster(masterUrl):


3.2、进入listener.connected(appId)方法:


3.2.1、进入实现类SparkDeploySchedulerBackend的connected方法:


进入notifyContext()方法:



4、接着在Master的消息响应中会调用schedule方法:






可以看到schedule方法中首先要启动Driver程序,也就是有main函数的程序,然后在schedule中会调度Worker的过程:

上面代码分析

1、进入launchDriver(worker, driver)方法:


1.1、进入worker.actor ! LaunchDriver(driver.id, driver.desc)方法:


1.1.1、进入 driver.start()方法:






2、进入 launchExecutor(worker, exec)方法:


PS:代码分析的好乱呀,我这个笨猪

© 著作权归作者所有

共有 人打赏支持
stark_summer
粉丝 61
博文 75
码字总数 51050
作品 0
朝阳
CEO
私信 提问
【互动问答分享】第15期决胜云计算大数据时代Spark亚太研究院公益大讲堂

“决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 【第15期互动问答分享】 Q1:AppClient和worker、master之间的关系是什么? :AppClient是在StandAlone模式下SparkContext.runJob...

Spark亚太研究院
2014/10/08
0
0
Spark读取HA模式HDFS Caused by: java.net.UnknownHostException: masters

Spark版本:1.6.1 Hadoop版本:2.6.2 HDFS模式为:HA(正常使用,没有任何问题) 使用Spark读取HDFS文件,报错Caused by: java.net.UnknownHostException: masters 尝试解决方法: 1. 拷贝cor...

阿拉德大陆的魔法师
2016/06/22
951
1
java远程调用 spark服务出错

Connecting to master spark://192.168.1.251:7077... 15/11/17 16:30:06 ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread[appclient-registration-retry-thread......

天池番薯
2015/11/17
2.7K
3
Spark源码分析:多种部署方式之间的区别与联系

在《Spark源码分析:多种部署方式之间的区别与联系(1)》我们谈到了SparkContext的初始化过程会做好几件事情(这里就不再列出,可以去《Spark源码分析:多种部署方式之间的区别与联系(1)》查看...

Ryan-瑞恩
2015/09/02
0
0
Spark(一)-- Standalone HA的部署

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/45629643 首先交代一下集群的规模和配置 集群有六台机器,均是VM虚拟机,每台2...

jchubby
2015/05/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
26分钟前
5
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
27分钟前
3
0
my.ini

1

architect刘源源
43分钟前
3
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
52分钟前
5
0
寻找数学的广度——《这才是数学》读书笔记2700字

寻找数学的广度——《这才是数学》读书笔记2700字: 文|程哲。数学学习方式之广:国内外数学教育方面的专家,进行了很多种不同的数学学习方式尝试,如数学绘本、数学游戏、数学实验、数学步道...

原创小博客
58分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部