当前位置: 首页 > news >正文

邢台市网站建设_网站建设公司_定制开发_seo优化

网站功防教程,wordpress 工作室模板,wordpress 301怎么写,沧州建设网站目录 1、Spark Executor如何工作 2、Spark Executor工作源码 1、Spark Executor如何工作 当Driver发送过来Task的时候#xff0c;其实是发送给CoarseGrainedExecutorBackend这个RPCEndpoint#xff0c;而不是直接发送给Executor#xff08;Executor由于不是消息循环体永远…目录 1、Spark Executor如何工作 2、Spark Executor工作源码 1、Spark Executor如何工作 当Driver发送过来Task的时候其实是发送给CoarseGrainedExecutorBackend这个RPCEndpoint而不是直接发送给ExecutorExecutor由于不是消息循环体永远也无法接收远程发过来的信息。 Driver向ExecutorBackend发送LaunchTask这里实际上是把内容交给线程池中的线程去执行。首先判断Executor是否为空反序列化TaskDescription然后调用Executor.launchTask launchTask 里面是将Task封装在TaskRunner是一个runnable对象里面然后交给线程池中的线程处理。在TaskRunner的run方法里面会导致runTask的执行。 2、Spark Executor工作源码 1Worker接收到Master发送过来启动Executor的指令通过ExecutorRunner启动另外一个进程来运行Executor。在这个基础上会启动一个CoarseGrainedExecutorBackend粗粒度ExecutorBackend启动的时候这个时候要向Driver注册通过RegisterExecutor。DriverCoarseGrainedSchedulerBackend的内部成员DriverEndpoint接收注册在接收到RegisterExecutor信息后会返回一个信息RegisteredExecutor给CoarseGrainedExecutorBackend。 CoarseGrainedExecutorBackend是Executor运行所在的进程的名称他本身不会完成具体任务的计算这个进程里面有个Executor对象和CoarseGrainedExecutorBackend是一一对应的。 Executor完成具体的计算真正处理Task的对象内部通过线程池的方式完成Task的计算。 2Driver的CoarseGrainedSchedulerBackend内部的成员DriverEndpoint收到RegisterExecutor后首先判断ExecutorDataMap中是否有这个ExecutorId。ExecutorDataMap是个内存数据结构他是CoarseGrainedSchedulerBackend的成员所以最终是注册给CoarseGrainedSchedulerBackend他是一个HashMap。 如果ExecutorDataMap中不存在就进行注册注册的时候先看看address存在不存在如果存在直接获取如果不存在就获取senderAddress。这从实现的角度看adress就是senderAddress。然后相关数据结构添加数据 CoarseGrainedSchedulerBackend.this.synchronized这里加上synchronized是因为集群中有很多ExecutorBackend向Driver注册担心注册的时候写冲突所以加上一个同步代码块 最后把消息发还给CoarseGrainedExecutorBackend 3CoarseGrainedExecutorBackend收到RegisterExecutor后就new了一个Executor这个Executor对象是事实上负责Task计算的 4在Executor默认构造器中有一个非常关键的内容有个成员threadPool线程池 创建线程池线程池里面要有线程线程怎么产生的呢不会平白无故的产生所以就搞了一个线程工厂就是按照某种你需要的格式去产生线程背后还是new出一个线程 setDamon(True)设置每个线程是后台运行的方式 5线程池也准备好后就是等待Driver端发任务过来是发给CoarseGrainedExecutorBackend不是Executor因为Executor不可能接收到消息的他本身就不是一个消息循环体。CoarseGrainedExecutorBackend收到LaunchTask后这里实际上是把内容交给线程池中的线程去执行。判断Executor是否为空反序列化TaskDescription然后调用Executor.launchTask 6launchTask 里面是将Task封装在TaskRunner是一个runnable对象里面然后交给线程池中的线程处理。并把这个任务加入ConcurrentHashMap类型的名称为runningTasks的数据结构中管理。 7在TaskRunner的run方法里面会导致runTask的执行 补充为什么要在worker接收到master发送过来的指令后为什么要启动另外一个进程也就是说为什么开辟另外一个进程在另外一个进程中注册给Driver然后启动Executor。必须启动另外一个进程的原因①Worker本身是管理当前机器上的资源的当前机器上的资源变动的时候要汇报给MasterWorker不是用来做计算的不能在Worker里面计算②Spark集群中可能有很多应用程序就可能有很多的Executor如果不是为每个Executor启动一个进程而是所有Executor在Worker里面那么一个程序奔溃了会导致其他程序奔溃。
http://www.ihoyoo.com/news/4239.html

相关文章:

  • 交易平台网站建设项目需求wordpress地址跟站点
  • 外贸网站建设双语网站建设如何鉴赏网站论文
  • 做网站商城赔了8万网站已经申请了域名 接下来怎么
  • 网站如何做淘宝支付宝支付封面新闻是国家级媒体
  • 中国建设银行吉林省分行官网站有好看图片的软件网站模板下载
  • 城市轨道建设规范下载网站南昌快速优化排名
  • 优酷的网站头怎么做的无锡工程造价信息网
  • v9做的网站被攻击链接吧跳转重庆网站推广平台
  • 怎么在58上做公司网站小型手机网站建设多少钱
  • 国内网站建设联系电话wordpress 4.6 注入
  • soho需不需要做网站弄企业邮箱济南网站备案程序
  • 聊城网站策划玩具网站建设策划书
  • 安徽网站建设费用百度识图搜索
  • 阿里巴巴网站备案网上停车场做施工图人员网站
  • 网站开发工程师好吗物流网站制作
  • 网站营销成功的案例分析学校门户网站作用
  • 中小学网站建设排行2017响应式网站建设济南
  • 网站开发项目流程贵阳快速建站模板
  • 如何创建网站老鱼网企业网站百度认证
  • 贵港北京网站建设8大营销工具指的是哪些
  • 怎样搜网站WordPress做推广
  • 俄语网站建设注意事项开封建站公司
  • 太平洋在线企业网站管理系统洞口网站开发公司
  • 网站建设哪家公司最好怎么宣传
  • wordpress网站分享到朋友圈商品网站建设及推广策划书
  • 网站建设与管理素材网站建设公司专业开发北京网站
  • 制作类似网站软件百度客户端电脑版下载
  • 如何用网站做淘客个人信息服务平台登录
  • 网站建设进程方案做影视网站怎么赚钱
  • 泗县网站建设wordpress 分类不显示