Spark启动过程(针对standalone)-spark-1.6.0
来源:互联网 发布:ai汉化包for mac 编辑:程序博客网 时间:2024/06/16 17:46
Spark启动过程
正常启动Spark集群时往往使用start-all.sh ,此脚本中通过调用start-master.sh和start-slaves.sh启动mater及workers节点。
1、启动Master
(1)注册SignalLogger日志记录器
(2)创建名称为master的Actor 并启动,在启动master之前会:
a). 加载Spark环境变量
b). 创建workers、apps、drivers等例表,用于记录相关信息
c). 创建WebUi
d). 创建及启动MetricsSystem用于监控系统状态
e). 定期检查Worker状态,维护可用Worker列表
2、启动Slave(Worker)
(1)注册SignalLogger日志记录器
(2)创建名称为worker的Actor 并启动,在启动worker之前会:
a).创建executors、drivers、finishedApps等列表,用于记录相关信息
b).创建及启动MetricsSystem用于监控worker状态
c).生成workerID,以时间串+host+port组成,其不可能重复。
d).创建worker工作目录
e).向master注册worker
f).定期检查Worker状态,维护可用Worker列表
注意:主要调用了org.apache.spark.deploy.worker.Worker类
(1)将worker被启动时,向master发送消息:master!RegisterWorker(workerId, host, port, cores, memory, webUi.boundPort, publicAddress)。
(2)当master收到worker发磅的RegisterWorker消息后,先检测workerId是否已注册,
a). 若已注册,向worker发送sender ! RegisterWorkerFailed("Duplicate worker ID")消息
b).若未注册,则注册worker,将其信息记录worker相关的列表,如idToWorker、workers等中,并将其添加到persistenceEngine中,通知sender ! RegisteredWorker(masterUrl, masterWebUiUrl)
c).执行schedule()
(3)当worker收到master的反馈消息时:
a).当消息内容为RegisteredWoker时,worker开启定期向master报活。开始报活后,若Master联系4个报活周期未收到worker心跳,
则master认为worker已经不可用,从其维护的worker列表中移除连续未报活worker信息。若向master报活的worker并未在master维护的worker列表中,则master通知该worker重新进行注册。
b).若消息内容为RegisterWorkerFailed,则表示注册败,重试或退出。
正常启动Spark集群时往往使用start-all.sh ,此脚本中通过调用start-master.sh和start-slaves.sh启动mater及workers节点。
1、启动Master
(1)注册SignalLogger日志记录器
(2)创建名称为master的Actor 并启动,在启动master之前会:
a). 加载Spark环境变量
b). 创建workers、apps、drivers等例表,用于记录相关信息
c). 创建WebUi
d). 创建及启动MetricsSystem用于监控系统状态
e). 定期检查Worker状态,维护可用Worker列表
2、启动Slave(Worker)
(1)注册SignalLogger日志记录器
(2)创建名称为worker的Actor 并启动,在启动worker之前会:
a).创建executors、drivers、finishedApps等列表,用于记录相关信息
b).创建及启动MetricsSystem用于监控worker状态
c).生成workerID,以时间串+host+port组成,其不可能重复。
d).创建worker工作目录
e).向master注册worker
f).定期检查Worker状态,维护可用Worker列表
注意:主要调用了org.apache.spark.deploy.worker.Worker类
234567
def main(argStrings: Array[String]) {SignalLogger.register(log)val conf = new SparkConfval args = new MasterArguments(argStrings, conf)val (actorSystem, _, _, _) = startSystemAndActor(args.host, args.port,args.webUiPort, conf)actorSystem.awaitTermination()}
(1)将worker被启动时,向master发送消息:master!RegisterWorker(workerId, host, port, cores, memory, webUi.boundPort, publicAddress)。
(2)当master收到worker发磅的RegisterWorker消息后,先检测workerId是否已注册,
a). 若已注册,向worker发送sender ! RegisterWorkerFailed("Duplicate worker ID")消息
b).若未注册,则注册worker,将其信息记录worker相关的列表,如idToWorker、workers等中,并将其添加到persistenceEngine中,通知sender ! RegisteredWorker(masterUrl, masterWebUiUrl)
c).执行schedule()
(3)当worker收到master的反馈消息时:
a).当消息内容为RegisteredWoker时,worker开启定期向master报活。开始报活后,若Master联系4个报活周期未收到worker心跳,
则master认为worker已经不可用,从其维护的worker列表中移除连续未报活worker信息。若向master报活的worker并未在master维护的worker列表中,则master通知该worker重新进行注册。
b).若消息内容为RegisterWorkerFailed,则表示注册败,重试或退出。
注意:他们之间的通信使用的是封装了scala actor 的akka。
阅读全文
0 0
- Spark启动过程(针对standalone)-spark-1.6.0
- Spark 启动过程(standalone)
- spark standalone 安装(手动启动)
- 配置Spark standalone集群启动
- Spark Standalone Mode 搭建过程
- Spark的standalone环境搭建(1.6.0)
- spark Standalone
- Spark Standalone
- Spark源码(1)- Master的启动(standalone)
- Spark standalone下的运行过程
- Spark分析之Standalone运行过程分析
- spark学习八 standalone模式下spark应用执行过程
- spark standalone深入学习-核心概念\启动过程\服务down掉说明
- spark安装,单节点spark,spark standalone
- spark 源代码分析 (二)spark启动过程
- Spark-1.0.0 standalone分布式安装教程
- Spark-1.0.0 standalone分布式安装教程
- Spark的standalone源码分析(一)
- PHP-变量(二)(变量值传递与引用传递,及值传递转换成引用传递)
- php 去掉 头尾 空格 2种方法
- 闲谈 | 敏捷宣言说了什么
- 怎么解决:fatal error LNK1561: 必须定义入口点
- CC2530 rejoin back off (z-stack home 1.22a)
- Spark启动过程(针对standalone)-spark-1.6.0
- js阻止默认行为和冒泡,添加和删除监听事件
- FZU Problem 2271 X(最短路)
- more和less命令详细解释
- CentOS搭建Git服务器
- 微服务访问地址配置
- 机器学习的调式和可视化
- 浅析 OkHttp 的拦截器机制
- Linux下Nodejs安装