在MRv1中,各个模块间驱动运行的方式是函数调用的方式。这是同步的过程,上一模块调用下一模块函数后,等待其执行。效率不高。

在MRv2中做了改进,yarn基于事件驱动的并发模型。在详细介绍前,先看下图:

处理请求会作为事件进入系统,有中央异步调度器【AsyncDispatcher】传递给对应的事件调度器【Event Handler】。事件调度器再将该时间转发给另外的事件调度器或者交给一个带有有限状态机的事件处理器,其处理结果也以事件形式输出给中央异步调度器。

在yarn中,核心服务都是一个中央异步调度器。ResourceManager,NodeManager,MRAPPMaster等。

以MRAPPMaster为例,内部实现了中央异步调度器,

各种事件调度器是在中央调度其中定义、实现、注册。(在中央调度器初始化后,再new几个对象,各个对象都是一个特定定义的具体事件调度器,而这些事件调度器里,实现了最终的调度事件处理器的方法)

而TaskAttemptImpl、TaskImpl、JobImpl这一系列是事件处理器。

最新文章

  1. python高级之生成器&迭代器
  2. 设计模式C#实现(十)——桥接模式
  3. 读匿名object对象的属性值
  4. HUST1024 dance party(最大流)
  5. 2014年最大福利:185个Google排名因素!免费电子书下载
  6. 家庭局域网接入Internet
  7. LightOJ 1356 Prime Independence 二分图最大独立集,HK算法
  8. 每天一点Swift(五)控制器的生命周期和SizeClass
  9. swift 新功能介绍
  10. ORM查询语言(OQL)简介高级篇
  11. 微软必应借PK谷歌突围中国搜索市场
  12. C++左值
  13. bzoj 3166 可持久化Tire
  14. [ffmpeg] 定制滤波器
  15. Zk 集群概念
  16. JWT的相关讲解
  17. 微信小程序不能超过十个并发的解决办法
  18. java mysql 链接高版本出现SSL验证
  19. WPF送走控件的focus方法
  20. vim 操作快捷键 待更~

热门文章

  1. c++unsigned char的输出问题
  2. BackTrack5-r3改源
  3. 我是一只IT小小鸟----读书笔记
  4. 传智播客JavaWeb day11--事务的概念、事务的ACID、数据库锁机制、
  5. 07——为多态基类声明为virtual析构函数
  6. c语言结构体&常指针和常量指针的区别
  7. PHP反向代理-百度图片
  8. HTML 标签 表格
  9. web前端的学习.
  10. 转:对于服务器AdminServer, 与计算机Machine-0相关联的节点管理器无法访问