`

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

阅读更多

注册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:代码分析的好乱呀,我这个笨猪

0
1
分享到:
评论

相关推荐

    Python库 | sumologic-appclient-sdk-2.0.0.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:sumologic-appclient-sdk-2.0.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | sumologic_appclient_sdk-1.0.5-py3-none-any.whl

    《Python库SumoLogic AppClient SDK 1.0.5详解》 在Python的世界里,丰富的第三方库是其强大功能的重要支撑。今天我们要探讨的是一个名为`sumologic_appclient_sdk`的库,版本为1.0.5,它是一个Python接口,专为...

    Python-appclient全自动实名认证插件手机APP接口演示

    文件"appclient-master"很可能是该项目的源代码仓库,包含主程序和其他相关文件。开发者可以通过查看源代码学习如何实现这样的自动化认证过程,包括如何构建API接口,如何处理认证请求,以及如何确保数据的安全传输...

    安全支付产品介绍(20110803)

    - **安全支付服务:** 由支付宝提供的安装在手机上的底层服务,用于为商户APPClient提供支付功能。 - **AndroidOS:** 本文中以Android为例的手机操作系统。 - **商户APPServer:** 外部商户开发的服务器系统,用于...

    spark初始化源码阅读sparkonyarn的client和cluster区别

    ClientActor 通过 AppClient 创建,AppClient 负责注册任务到 Master 节点上。 Cluster Cluster 是 Spark 的执行环境,负责任务的执行。Cluster 的主要组件有 Master、Worker 和 Executor。 Master 是 Cluster 的...

    即时通信软件+Windows tcp/ip+源码

    - APPClient 客户端 - config APP配置 - include 公共头文件 ## 开发环境搭建 开发环境:Window10 开发IDE:vs2015_update3 使用说明: 服务端配置: 需要配置./config/config.ini 文件中的 net项 下的port ...

    app软件接口交互时序图

    - 在未登录服务器之前,APP客户端(AppClient)通过本地的随机算法生成一个32字节的预会话密钥(psk),该密钥将用于后续的安全信道建立过程。 2. **发送预会话密钥至服务器**: - AppClient通过向服务器特定路径...

    android文档

    这个接口用于获取APP中的滚动广告列表,URL为`http://test.yiqiquan.net/lottery-front/appclient/advert/lotteryAdvList`。它支持POST和GET请求,参数包括`pageNo`(当前页数)和`pageSize`(每页广告数量)。...

    Web-App-Client:前端

    该项目是通过引导的。 您将在下面找到一些有关如何执行常见任务的信息。您可以在找到本指南的最新版本。 目录 更新到新版本 Create React App分为两个包: create-react-app是用于创建新项目的全局命令行实用程序。...

    基于SuperSocket的消息推送详细说明文档1

    - GA.SuperSocket.AppClient:模拟桌面客户端,实现登录和消息接收。 - GA.SuperSocket.MobileApp:模拟移动手机端,可以多次打开以发送消息至服务器,然后由服务器转发给特定的桌面客户端。 功能特点: - ...

    用java实现的简单浏览器程序

    ### Java 实现简单浏览器程序知识点解析 #### 一、项目概述 本项目是基于Java语言开发的一款简易浏览器程序。该程序允许用户通过输入网站的域名或IP地址来访问网页,前提是用户的计算机需连接至互联网。...

    网页文件加密 HTML Password Lock V3.2.7汉化绿色版

    这款软件的主要功能是为个人或企业用户提供网页和网站的保护,确保只有经过授权的用户能够访问特定内容。在互联网安全日益重要的今天,这类工具对于保护隐私信息和商业敏感数据至关重要。 ...它允许用户选择要加密的...

    CnReconnect.rar

    "AppServer"和"AppClient"两个文件分别代表了服务器端和客户端的应用程序。 服务器端(AppServer): 1. 创建Socket实例:服务器需要先创建一个Socket对象,指定协议类型(如TCP或UDP)和地址族(通常为...

    一个封装好的,可以上传下载提交数据,封装好了,直接调用。

    为了在新版本中正确使用,开发者需要确保在调用AppClient的相关方法时,是在非主线程环境中,例如在一个子线程或者使用了上述提到的异步处理机制。 在实际使用过程中,上传和下载数据通常涉及文件操作,这可能需要...

    iot-nodejs:使用Node.js连接到IBM Watson IoT的客户端库和示例

    IBM Watson IoT Platform Javascript SDK安装npm install @...appClient . connect ( ) ;// Do stuffappClient . disconnect ( ) ;设备import { DeviceClient , DeviceConfig } from '@wiotp/sdk' ;let deviceConfi

    互联网程序

    电子科技大学 互联网程序设计,课件 内容丰富,深入浅出,很适合初学者

    recommending_users_in_sinaweibo:生活是一项巨大的事业

    在appClient.py中初始化AppClient类2.运行主函数3.你会看到推荐结果笔记: 1.WordSegAPI文件夹用于分词2.usedict.txt 用作分词时的用户词典3.您发现的任何查询或错误,请告诉我,报告错误的高度奖励: 或发送电子...

    GreeterCorbaClient:corba 查找 ejb

    GreeterCorba客户端corba 查找 ejb 用法: thufir@doge: $ thufir@doge: $ glassfish-4.1/glassfish/bin/appclient -client NetBeansProjects/GreeterCorbaClient/dist/GreeterCorbaClient.jar {org.omg.CORBA....

    用VS2005中C#做的聊天室程序

    该聊天室程序包括两个主要组成部分:服务器端(AppServer)和客户端(AppClient),这允许用户通过网络进行实时的文本交流。 C#是一种面向对象的编程语言,由微软公司推出,主要用于Windows平台上的应用程序开发。...

Global site tag (gtag.js) - Google Analytics