Spark启动过程

正常启动Spark集群时往往使用start-all.sh ,此脚本中通过调用start-master.sh和start-slaves.sh启动mater及workers节点。

1、  启动Master

a)         注册SignalLogger日志记录器

b)         创建名称为master的Actor 并启动,在启动master之前会:

i.              创建workers、apps、drivers等例表,用于记录相关信息

ii.              创建WebUi

iii.              创建及启动MetricsSystem用于监控系统状态

iv.              定期检查Worker状态,维护可用Worker列表

2、  启动Worker

a)         注册SignalLogger日志记录器

b)         创建名称为worker的Actor 并启动,在启动worker之前会:

i.              创建executors、drivers、finishedApps等列表,用于记录相关信息

ii.              创建及启动MetricsSystem用于监控worker状态

iii.              生成workerID,以时间串+host+port组成,其不可能重复。

iv.              创建worker工作目录

v.              向master注册worker

vi.              定期检查Worker状态,维护可用Worker列表

3、  Worker 向Master注册过程

a)         将worker被启动时,向master发送消息:master ! RegisterWorker(workerId, host, port, cores, memory, webUi.boundPort, publicAddress)。

b)         当master收到worker发磅的RegisterWorker消息后,先检测workerId是否已注册,

i.              若已注册,向worker发送sender ! RegisterWorkerFailed("Duplicate worker ID")消息

ii.              若未注册,则注册worker,将其信息记录worker相关的列表,如idToWorker、workers等中,并将其添加到persistenceEngine中,通知sender ! RegisteredWorker(masterUrl, masterWebUiUrl)

iii.              执行schedule()

c)         当worker收到master的反馈消息时:

i.              当消息内容为RegisteredWoker时,worker开启定期向master报活。开始报活后,若Master联系4个报活周期未收到worker心跳,则master认为worker已经不可用,从其维护的worker列表中移除连续未报活worker信息。若向master报活的worker并未在master维护的worker列表中,则master通知该worker重新进行注册。

ii.              若消息内容为RegisterWorkerFailed,则表示注册败,重试或退出。

Spark 启动过程(standalone)的更多相关文章

  1. Spark源码分析(一)-Standalone启动过程

    原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3858065.html 为了更深入的了解spark,现开始对spark源码进行分析,本系列文章以spark ...

  2. 深入理解 JBoss 7/WildFly Standalone 模式启动过程

    概述 JBoss 7/WildFly Standalone 模式启动过程大致例如以下: 启动脚本 standalone.sh 启动 JBoss Modules,JBoss Modules 启动 JBo ...

  3. spark 源码分析之四 -- TaskScheduler的创建和启动过程

    在 spark 源码分析之二 -- SparkContext 的初始化过程 中,第 14 步 和 16 步分别描述了 TaskScheduler的 初始化 和 启动过程. 话分两头,先说 TaskSc ...

  4. spark源码阅读--SparkContext启动过程

    ##SparkContext启动过程 基于spark 2.1.0  scala 2.11.8 spark源码的体系结构实在是很庞大,从使用spark-submit脚本提交任务,到向yarn申请容器,启 ...

  5. zookeeper源码分析之一服务端启动过程

    zookeeper简介 zookeeper是为分布式应用提供分布式协作服务的开源软件.它提供了一组简单的原子操作,分布式应用可以基于这些原子操作来实现更高层次的同步服务,配置维护,组管理和命名.zoo ...

  6. spark1.4.1 启动过程

    今天稍微没那么忙了,趁着这个时间,准备把spark的启动过程总结一下(),分享给大家.现在使用的spark1.4.1版本 当然前提是你已经把spark环境搭建好了. 1.我们启动spark的时候一般会 ...

  7. Spark新手入门——3.Spark集群(standalone模式)安装

    主要包括以下三部分,本文为第三部分: 一. Scala环境准备 查看二. Hadoop集群(伪分布模式)安装 查看三. Spark集群(standalone模式)安装 Spark集群(standalo ...

  8. vue-cli webpack项目npm run dev启动过程

    前言 通过vue init webpack和npm install命令初始化项目后,执行npm run dev就打开了网站http://localhost:8080.初学者不知道index.html. ...

  9. Spark分析之Standalone运行过程分析

    一.集群启动过程--启动Master $SPARK_HOME/sbin/start-master.sh start-master.sh脚本关键内容: spark-daemon.sh start org ...

随机推荐

  1. B - The Accomodation of Students - hdu 2444(最大匹配)

    题意:现在有一些学生给你一下朋友关系(不遵守朋友的朋友也是朋友),先确认能不能把这些人分成两组(组内的人要相互不认识),不能分的话输出No(小写的‘o’ - -,写成了大写的WA一次),能分的话,在求 ...

  2. JQuery的ready函数与JS的onload的区别详解

    JQuery的ready函数与JS的onload的区别:1.执行时间window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行.$(document).ready()是DOM结构绘制 ...

  3. Python自动化之Django的CSRF

    什么CSRF? CSRF, Cross Site Request Forgery, 跨站点伪造请求.举例来讲,某个恶意的网站上有一个指向你的网站的链接,如果 某个用户已经登录到你的网站上了,那么当这个 ...

  4. Docker 初级实践

    Docker 应用 优势 与虚拟相比Docker更加轻量高效,更加方便移植.虚拟机提供的是完整的操作系统环境,包含了大量类似硬件驱动.虚拟处理器.网络接口等等并不需要的信息,也需要比较长时间的启动,同 ...

  5. bt5全称是Back Track five,是继BT3,BT4之后的最新版,这是一个linux环境的便携系统,可以放到U盘或者硬盘中启动,对本身硬盘没有影响,无需在本地安装。

    是圈内非常著名的黑客攻击平台,是一个封装好的Linux操作系统,内置大量的网络安全检测工具以及黑客破解软件等. Back Track因可以方便的破解无线网络而出名,其中内置的spoonwep2是一个非 ...

  6. SKTextureAtlas类

    继承自 NSObject 符合 NSCodingNSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit.framework 可用性 可用 ...

  7. gzip优化网络传输量提高传输效率[转]

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;us ...

  8. Java基础知识强化21:Java中length、length()、size()区别

    1.java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.2.java中的length()方法是针对字符串String说的,如果想看这个 ...

  9. Android应用程序安装与Launcher启动机制

      以下资料摘录整理自老罗的Android之旅博客,是对老罗的博客关于Android底层原理的一个抽象的知识概括总结(如有错误欢迎指出)(侵删):http://blog.csdn.net/luoshe ...

  10. git 取消追踪

    git rm --cached filePath这个操作不会删除这个文件