参考并推荐博文:https://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/

重构根本的思想是将 JobTracker 两个主要的功能分离成单独的组件,这两个功能是资源管理和任务调度 / 监控。

Hadoop Yarn(MapReduceV2)架构:

ResourceManager :一个中心的服务,

功能:负责作业与资源的调度。接收 JobSubmitter 提交的作业,按照作业的上下文 (Context) 信息,以及从 NodeManager 收集来的状态信息,启动调度过程,分配一个 Container 作为 App Mstr,监控 ApplicationMaster 的存在情况;

ResourceManager 支持分层级的应用队列,这些队列享有集群一定比例的资源。

ResourceManager 提供一个调度策略的插件,它负责将集群资源分配给多个队列和应用程序。调度插件可以基于现有的能力调度和公平调度模型。它是基于应用程序对资源的需求进行调度的 ; 每一个应用程序需要不同类型的资源因此就需要不同的容器。

注:从某种意义上讲它就是一个纯粹的调度器,它在执行过程中不对应用进行监控和状态跟踪。同样,它也不能重启因应用失败或者硬件错误而运行失败的任务。

NodeManager :

功能:负责 Container 状态的维护,并向 RM 保持心跳,功能相对单一。

ApplicationMaster

功能:负责一个 Job 生命周期内的所有工作,它结合从 ResourceManager 获得的资源和 NodeManager 协同工作来运行和监控任务。

类似老的框架中 JobTracker。但注意每一个 Job(不是每一种)都有一个 ApplicationMaster,它可以运行在 ResourceManager 以外的机器上。

注::Job 里面所在的 task 的监控、重启等等内容不见了。这就是 AppMst 存在的原因。

最新文章

  1. oracle异常:ORA-01422: exact fetch returns more than requested
  2. Android studio 提高导入项目的速度
  3. BZOJ 4247: 挂饰 题解
  4. Google-解决在调试页面或者js时总是提示烦恼的断点问题
  5. Spring 使用中的设计模式
  6. isinstance 和 issubclass
  7. Extjs4.10Model模型具体解释
  8. CSS(三)背景 list-style display visibility opacity vertical cursor
  9. 使用 ASP.NET Core MVC 创建 Web API(一)
  10. Python下划线的详解
  11. 关于4A网络安全管控平台控件加载失败的解决方法
  12. 并发系列3:Lock锁以及核心类AQS
  13. TERADATA数据库操作
  14. 使用SQL语句从数据库一个表中随机获取数据
  15. groovy 从jsonList中读取某个字段
  16. PostgreSQL同步方案
  17. AtCoder Grand Contest 006
  18. php 七种数据类型介绍
  19. post文件的html
  20. sql 判断

热门文章

  1. 「国庆训练&知识学习」图的最大独立集与拓展(Land of Farms,HDU-5556)
  2. JEMTER简单的测试计划
  3. Siki_Unity_3-13_编程内功修炼-算法
  4. flask源码走读
  5. [JSON].toXMLString()
  6. Django学习总结之模板templates
  7. ionic typescript--验证码发送倒计时功能
  8. java并发总览
  9. Python3 Tkinter-Menu
  10. Java中String类