博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spark源码解析5-executor启动和任务处理流程
阅读量:4623 次
发布时间:2019-06-09

本文共 877 字,大约阅读时间需要 2 分钟。

  1. 在创建taskScheduler的时候SparkContext.createTaskScheduler(thismaster),进行了 new SparkDeploySchedulerBackend()的步骤,在SparkDeploySchedulerBackend的84行,执行了app运行使用的调度器为CoarseGrainedExecutorBackend
    val command = Command("org.apache.spark.executor.CoarseGrainedExecutorBackend", //-----------指定调用的executor是哪个
  2. 在下面的new AppClient()中,有传入commond
  3. 查看AppClient的onStart()方法,调用了registerWithMaster(),然后调用了tryRegisterAllMasters()方法
  4. 在tryRegisterAllMasters()方法中向master发送了消息RegisterApplication(appDescriptionself)
  5. master接收到消息后,向appclient发送消息RegisteredApplication,监听任务运行状态,然后调用schedule()方法
  6. schedule()方法中调用startExecutorOnWorks()方法,在worker上调度和启动executor,在此方法中计算每个worker上可用的资源,并且分配每个worker上需要启动的资源,调用allocateWorkerResourceExecutor方法启动executor
  7. allocateWorkerResourceExecutor方法中,调用lauchExecutor()方法,启动executor
  8. 向worker发送消息,启动executor,向appclient发送消息,改变executor的状态

转载于:https://www.cnblogs.com/haoyy/p/6201938.html

你可能感兴趣的文章
BZOJ 1207: [HNOI2004]打鼹鼠
查看>>
堆排序
查看>>
android下网络通信流程
查看>>
Spring+shiro session与线程池的坑
查看>>
Python基础学习笔记02之list
查看>>
jquery实现拖拽的效果
查看>>
JS 获取图片标签和所有的图片中的src的正则表达式
查看>>
jQuery:1.5.5.2,京东导航(当前默认设置)
查看>>
ASP.NET中 DetailsView(详细视图)的使用前台绑定
查看>>
我又情不自禁了——立方网的又一次加速度
查看>>
如何屏蔽国内IP访问我们的网站的一些方法!
查看>>
起与伏
查看>>
2.网络编程-udp
查看>>
Handlebars.js 模板引擎
查看>>
MySQL体系结构
查看>>
Nginx-日志切割
查看>>
219. Insert Node in Sorted Linked List【Naive】
查看>>
ucos软件结构(引用的Hiker天下的先谢谢了。)
查看>>
wifi驱动的理解(3)——usb接口在wifi模块中的角色
查看>>
【转】GPS网平差
查看>>