spark1.4.1 启动过程
今天稍微没那么忙了,趁着这个时间,准备把spark的启动过程总结一下(),分享给大家。现在使用的spark1.4.1版本
当然前提是你已经把spark环境搭建好了。
1、我们启动spark的时候一般会使用官方提供的启动脚本,start-all.sh ,那我们先来看看,这个脚本做了什么。
# Start all spark daemons.
# Starts the master on this node.
# Starts a worker on each node specified in conf/slaves
以上是它的注释,我们就截取一部分比较重要的代码分析

先分析 master.sh

一、可以看到他使用daemon.sh 启动了Master类,那我们进入Master进行分析一下。


akka 其实就是一个异步通信机制,可以利用它来控制程序的运行。有兴趣的同学可以参考这个:
那接下来我们看看,启用akka之后它会处理什么样类型的数据
它的处理代码放在Master的类里

这是一个重写的方法,它是一个偏函数,偏函数的好处就是可以做模式匹配。
我们可以看看它都匹配了几种类型。(这里我先介绍启动的时候和worker交互使用的几个类型)
1、worker注册

2、与worker建立心跳

二、接着我看看worker启动的时候做了那些工作,以及他和master的交互
worker 模式和master差不多,先看看main函数

worker启动的时候有个比较重要的就是步骤就是向master注册

看看它与master交互的时候使用的几种消息类型
注册成功返回的信息,和定时发送的消息

总结:以上就是我们使用脚本启动spark时候的master、worker调度的过程,当然这只是一部分,启动过程还有大量细节的工作有兴趣的同学可以一起探讨。这只是一个开始,提交任务后,还有大量的工作,
这个我在后面会继续更新。
spark1.4.1 启动过程的更多相关文章
- zookeeper源码分析之一服务端启动过程
zookeeper简介 zookeeper是为分布式应用提供分布式协作服务的开源软件.它提供了一组简单的原子操作,分布式应用可以基于这些原子操作来实现更高层次的同步服务,配置维护,组管理和命名.zoo ...
- [原] KVM 虚拟化原理探究(2)— QEMU启动过程
KVM 虚拟化原理探究- QEMU启动过程 标签(空格分隔): KVM [TOC] 虚拟机启动过程 第一步,获取到kvm句柄 kvmfd = open("/dev/kvm", O_ ...
- Openfire的启动过程与session管理
说明 本文源码基于Openfire4.0.2. Openfire的启动 Openfire的启动过程非常的简单,通过一个入口初始化lib目录下的openfire.jar包,并启动一个 ...
- 探索 Linux 系统的启动过程
引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 ...
- Linux内核启动过程概述
版权声明:本文原创,转载需声明作者ID和原文链接地址. Hi!大家好,我是CrazyCatJack.今天给大家带来的是Linux内核启动过程概述.希望能够帮助大家更好的理解Linux内核的启动,并且创 ...
- SpringMVC启动过程详解(li)
通过对SpringMVC启动过程的深入研究,期望掌握Java Web容器启动过程:掌握SpringMVC启动过程:了解SpringMVC的配置文件如何配置,为什么要这样配置:掌握SpringMVC是如 ...
- Android源码——Activity组件的启动过程
根Activity启动过程 Launcher启动MainActivity的过程主要分为6个步骤: 一.Launcher向ActivityManagerService发送一个启动MainActivity ...
- Netty源码分析之客户端启动过程
一.先来看一下客户端示例代码. public class NettyClientTest { public void connect(int port, String host) throws Exc ...
- linux源码分析(二)-启动过程
前置:这里使用的linux版本是4.8,x86体系. 这篇是 http://home.ustc.edu.cn/~boj/courses/linux_kernel/1_boot.html 的学习笔记. ...
随机推荐
- 编辑IL文件 修改DLL文件
本文章只是技术探讨,学习,技术上的研究而已.请支持正版. 如:KS.Gantt.DLL 为例 使用ILSpy反编译 工具 利用ildasm反编译 KS.Gantt.dll 生成IL中间代码 一般会生 ...
- 一款css3很美的iphone注册表单样式
代码如下,保存到html文件打开: <!DOCTYPE html> <html lang=""> <head> <title>Ani ...
- 异步与并行~ReaderWriterLockSlim实现的共享锁和互斥锁
返回目录 在System.Threading.Tasks命名空间下,使用ReaderWriterLockSlim对象来实现多线程并发时的锁管理,它比lock来说,性能更好,也并合理,我们都知道lock ...
- Entity Framework
Entity Framework 待整理.. 参考链接:http://www.cnblogs.com/lsxqw2004/archive/2015/08/07/4701979.html http:// ...
- 黑社会团伙(gangs)
题目描述 众所周知,香港的黑社会组织猖獗,警方希望能摸清他们的内部构成情况,特派小生前往调查.经过长期的卧底,小生初步获得了一些资料:整个组织有 n 个人,任何两个认识的人不是朋友就是敌人. 而且满足 ...
- 家族/亲戚(relation)
题目描述 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不容易,现在给出某个亲戚关系图,求任意给出的两个人是否具有亲戚关系. 规定:x和y是亲戚,y和z是亲戚,那么x和z也是亲戚.如果x,y是 ...
- 关于C#操作防火墙,阻止程序联网
//开启服务.开启防火墙 public void OpenFileWall() { // 1. 判断当前系统为XP或Win7 RegistryKey rk = Registry.LocalMachin ...
- python 替换 文件夹下的 文件名称 及 文件内容
示例效果: 1.替换某文件夹下的 文件夹及子文件夹 的名称 由OldStrDir 变为 NewStrDir: 2.替换某文件夹下的 文件夹及子文件夹 下 所有的文件的名称 由OldStrFile 变为 ...
- GJM :动作手游实时PVP 帧同步(客户端)[转载]
原帖地址:http://gad.qq.com/article/detail/7171195 原文作者:唐声福 原帖备注:版权所有,禁止匿名转载:禁止商业使用:禁止个人使用. 1.概述 1.1.基于U ...
- autocomplete="off" 不起作用
首先来了解一下 表单自动填充的原理,当我们登录的时候,如果选择的记住登录密码,那么后续界面中如果有 <input type="text" name="field1& ...