- 0
- 0
- 约8.67千字
- 约 5页
- 2020-04-04 发布于江苏
- 举报
这两天在看spark-submit之后任务是怎么启动的,写篇文章记录一下自己的理解思路:
SparkSubmit?SparkDeploySchedulerBackend?AppClient?tryRegisterAllMaster
1:客户端启动,初始化相关的环境变量,包括Application代码的提交
2:向Master注册Driver
这里需要注意,Master,Worker是已经启动,换句话说,我们的spark集群已经启动。
3: SparkDeploySchedulerBackend中启动Application。向Master注册Application
def registerWithMaster() {
tryRegisterAllMasters()
import context.dispatcher
var retries = 0
registrationRetryTimer = Some {
context.system.scheduler.schedule(REGISTRATION_TIMEOUT, REGISTRATION_TIMEOUT) {
Utils.tryOrExit {
retries += 1
if (registered) {
registrationRetryTimer.foreach(_.cancel())
} else if (retries = REGISTRATION_RETRIES) {
markDead(All masters are unresponsive! Giving up.)
} else {
tryRegisterAllMasters()
}
}
}
}
}
def tryRegisterAllMasters() {
for (masterAkkaUrl - masterAkkaUrls) {
logInfo(Connecting to master + masterAkkaUrl + ...)
val actor = context.actorSelection(masterAkkaUrl)
actor ! RegisterApplication(appDescription)
}
}
主要是这两段代码:SparkDeploySchedulerBackend中有Application的start函数,进入到APPClient中之后,首先向master注册Application,就是上面代码中的tryRegisterAllMasters(),这里会向Master发送RegisterApplication(appDescription)。在Master端通过AKKA收到消息后处理该消息,处理代码如下:
case RegisterApplication(description) = {
if (state == RecoveryState.STANDBY) {
// ignore, dont send response
} else {
logInfo(Registering app + )
val app = createApplication(description, sender)
registerApplication(app)
logInfo(Registered app + + with ID + app.id)
persistenceEngine.addApplication(app)
sender ! RegisteredApplication(app.id, masterUrl)
schedule()
}
}
进行注册Application,并且发送已经注册App的消息。然后进行schedule()。
Schedule函数如下:
/**
* Schedule the currently available resources among waiting apps. This method will be called
* every
您可能关注的文档
- SMT工厂IPQC(制程控制)巡检葵花宝典.docx
- SMT异常处理规范.docx
- SMT术语中英文对照表.doc
- SMT设备产能评估.doc
- SMT车间品质管理制度.docx
- SMT锡膏胶水之储存与使用管理办法1.1.doc
- SnapAssure常见故障维护手册.doc
- Sniffer的数据包分析与防范.doc
- SnO2材料气敏性能研究进展.docx
- snort-安装-使用-截图.doc
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
最近下载
- 2024年浙江省中考英语真题卷(含答案与解析)_7429.pdf VIP
- 华东师大版八下历史第二单元第4课-“大跃进”和人民公社化运动PPT24张.ppt VIP
- 2012上海杨浦区高三英语二模试卷及答案.doc VIP
- FANUC数控车床的主轴控制设计.doc VIP
- 2022年ISGE指南:宫腔镜子宫肌瘤切除术(全文).docx VIP
- 2025年湖南省长沙市中考英语真题(附答案).pdf VIP
- 怎么参加展会才能获得客户.doc VIP
- 设计斜齿轮零件的机械加工工艺规程.doc VIP
- 安徽省经济潜在增长率的测算、分析与展望:基于多维度视角与实证研究.docx
- 基于大数据植入广告发展趋势研究.doc VIP
原创力文档

文档评论(0)