Spark源码学习1.7——Master.scala
master第一步是加载系统定义的环境变量,如worker的超时时间、系统保留的Application数目等;第二步,加载worker的信 息,地址、id等;第三步,加载Application的信息,例如运行地址、等待的Application、完成的Application等;第四步, 加载驱动的信息,driver的信息用来帮助调度;第五步,启动监控端口和webUI。
1、prestart():启动前文所述的加载信息,打印log信息。
2、preRestart():重新启动master。
3、postStop():关闭webUI、ApplicationMetricsSystem应用测度系统等服务。
4、receiveWithLogging():master的功能函数,包括处理worker申请请求、变更驱动器状态、处理心跳反应等等。一般不会对这些做出更改。
5、beginRecovery()和comleteRecovery():对app、driver和worker进行恢复处理。
6、scheduler():当新的app加入或者可用资源发生变化时,调用scheduler方法重新为等待的app分配资源(默认采用FIFO调度方式)。分配app给节点时,先尽量分配所有的core,然后再分配节点,这样可以分配尽量少的节点。
7、launchExecutor():在worker中添加新的Executor。
8、registerWorker():注册worker,同时清除该worker所在节点的无反应的worker的信息或者对其重新注册(也就是说,一个node上可能有很多个worker咯)。
9、removeWorker():移除worker。
10、其他对app和driver进行管理的方法,如create、register、complete等。
Spark源码学习1.7——Master.scala的更多相关文章
- Spark源码学习1.2——TaskSchedulerImpl.scala
许久没有写博客了,没有太多时间,最近陆续将Spark源码的一些阅读笔记传上,接下来要修改Spark源码了. 这个类继承于TaskScheduler类,重载了TaskScheduler中的大部分方法,是 ...
- Spark源码学习1.1——DAGScheduler.scala
本文以Spark1.1.0版本为基础. 经过前一段时间的学习,基本上能够对Spark的工作流程有一个了解,但是具体的细节还是需要阅读源码,而且后续的科研过程中也肯定要修改源码的,所以最近开始Spark ...
- Spark源码学习1.6——Executor.scala
Executor.scala 一.Executor类 首先判断本地性,获取slaves的host name(不是IP或者host: port),匹配运行环境为集群或者本地.如果不是本地执行,需要启动一 ...
- Spark源码学习1.5——BlockManager.scala
一.BlockResult类 该类用来表示返回的匹配的block及其相关的参数.共有三个参数: data:Iterator [Any]. readMethod: DataReadMethod.Valu ...
- Spark源码学习1.4——MapOutputTracker.scala
相关类:MapOutputTrackerMessage,GetMapOutputStatuses extends MapPutputTrackerMessage,StopMapOutputTracke ...
- Spark源码学习1.8——ShuffleBlockManager.scala
shuffleBlockManager继承于Logging,参数为blockManager和shuffleManager.shuffle文件有三个特性:shuffleId,整个shuffle stag ...
- Spark源码学习1.3——TaskSetManager.scala
TaskSetManager.scala TaskSet是指一系列被提交的task,一般是代表特定的stage中丢失的partition.TaskSetManager通过一个TaskScheduler ...
- Spark源码学习2
转自:http://www.cnblogs.com/hseagle/p/3673123.html 在源码阅读时,需要重点把握以下两大主线. 静态view 即 RDD, transformation a ...
- Spark源码学习3
转自:http://www.cnblogs.com/hseagle/p/3673132.html 一.概要 本篇主要阐述在TaskRunner中执行的task其业务逻辑是如何被调用到的,另外试图讲清楚 ...
随机推荐
- 我的Time
C++改本地时间 #include<iostream> #include<windows.h> using namespace std; void main() { //tim ...
- express+gulp构建项目(二)启动项目和主文件
这一次整理的内容是项目主文件和如何启动项目. 启动项目 通过nodejs官网的例子https://nodejs.org/docs/latest-v4.x/doc/api/synopsis.html我们 ...
- asp.net Lodop实现批量打印
1.列表(前台) <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="w_stu ...
- 【转】mysql查询结果输出到文件
转自:http://www.cnblogs.com/emanlee/p/4233602.html mysql查询结果导出/输出/写入到文件 方法一: 直接执行命令: mysql> select ...
- [HTML/HTML5]7 使用列表
7.1 在Web页面中使用有序.无序.定义列表 (1)有序列表 有序列表中的每一个列表项之前,都以一个数字或字母作为编号. <ol> <li>树莓</li> &l ...
- javaweb project create
软件分享 myeclipse 10 链接:http://pan.baidu.com/s/1i3tUFpb 密码:qnyo 新建一个web project 找到web.xml 修改这里的index.ph ...
- 从客户端(Content="<p>测试</p>")中检测到有潜在危险的 Request.Form 值
.NetFrameWork 4.0 Validaterequest="false"不起作用 要恢复到2.0的ASP.NET请求验证功能的行为,要在以下设置 Web.config中 ...
- 大家把做的公祭日的ps上传哦
上传时图片保存为JPG,写上自己的学号,说说自己的创作构思
- Windows 2008 R2+iis7.5环境下Discuz!X3论坛伪静态设置方法
2008R2不是那么的普及,加上X3版新出不久,所以伪静态的设置教程比较少,今天搞出来了,其实很简单,那么下面给大家简要说明一下.因为iis7.5集成了url重写,那就就方便多了,首先安装好你的dz论 ...
- SQL Developer报错:Unable to find a Java Virtual Machine解决办法
安装了64位的Oracle数据库以及32位的Oracle客户端,在开始菜单中第一次打开客户端的SQL Developer时提示输入java.exe的路径,我选择了Oracle数据库自带的jdk路径,确 ...