下图简单明了的描述了hadoop yarn 的功能是如何从 hadoop 中细化出来的。

  注:图片来自 https://apprize.info/php/hadoop/9.html

  Hadoop 从 v2 开始,将资源调度与监控、任务作业的管理单独从 Hadoop 中抽取出来,即 原来的 JobTracker 和TaskTracker 的功能被抽取出来。 YARN 全称为Yet Another Resource Negotiator,在于要提供一个共享的任务调度计算平台。其中将资源和作业分离开来,形成资源管理平台和应用框架,资源管理平台主要负责资源的调度和监控;应用框架主要用于负责任务或作业的管理。

  从上图可以看出,YARN 不仅仅是简单地将JobTracker和TaskTracker的功能从hadoop 框架中分离出来,还将资源和任务的概念分离开来,将具体的任务和应用框架分离开来。只需要application的框架,如 mapreduce 或 spark 任务遵循 yarn的资源管理规范和任务的调度规范,任务就可以被提交到yarn上来执行。降低了模块之间的耦合性。

再来一个更加直观的来自官方文档的图来简单地说明一下 YARN的组件:

  从上图可以看出,ResourceManager 和 NodeManager 组成了数据计算框架。其中ResourceManager 负责管理计算过程所需的所有的资源;NodeManager 是计算框架在每一个节点上的agent,负责container以及监控资源,并将资源使用情况汇报给 ResouceManager或 Scheduler;每个应用程序ApplicationMaster实际上是一个特定于框架的库,其任务是协调来自ResourceManager的资源,并与NodeManager一起执行和监视任务。【翻译自官方文档】

  ResourceManager 包括Scheduler 和 ApplicationManager 两大组件。调度程序负责根据容量,队列等约束将资源分配给各种正在运行的应用程序。Scheduler 是纯调度程序,因为它不执行应用程序状态的监视或跟踪。 此外,由于应用程序故障或硬件故障,它无法保证重新启动失败的任务。调度程序根据应用程序的资源需求执行其调度功能; 它是基于资源Container的抽象概念,它包含内存,CPU,磁盘,网络等元素。【翻译自官方文档】

  综上所述,研究YARN,不得不研究ResourceManager 和 NodeManager的服务体系。其中,研究ResourceManager就必须要研究 Scheduler 和 ApplicationManager两大组件。

  注意,Container 其实是一个基于资源的一个概念,并不是某种服务。

  接下来,主要研究 RM服务以及NM服务以及二者是如何通信的。

最新文章

  1. free查看可用缓存
  2. Linux常用命令_(系统设置)
  3. Java——银行业务调度系统
  4. oracle参数open_cursors和session_cached_cursor详解!
  5. HDU 2101 A + B Problem Too 分类: ACM 2015-06-16 23:57 18人阅读 评论(0) 收藏
  6. 转载: Vim 练级攻略
  7. C++学习笔记-1-自增和自减运算符
  8. linux下emacs安装
  9. MySQL如何记录binlog
  10. python核心编写视频笔记--模块的导入
  11. ZooKeeper之(一)ZooKeeper是什么
  12. 6.JAVA基础复习——JAVA中文档注释与帮助文档的生成
  13. [GXOI/GZOI2019]与或和
  14. 利用sys打印进度条
  15. K8S学习笔记之Kubernetes 部署策略详解
  16. 404错误处理以及以后缀为action结尾的处理
  17. Oracle的一些经典SQL面试题
  18. HTML5 ②
  19. 详解UE4静态库与动态库的导入与使用
  20. 数据结构与算法之排序(4)希尔排序 ——in dart

热门文章

  1. HDU 1143 Tri Tiling (递推)
  2. jQuery迭代器
  3. Linux经常使用的命令(两) - cd
  4. 在.net core 的webapi项目中将对象序列化成json
  5. 注释为基础的SpringMVC
  6. Angular路由守卫 canDeactivate
  7. windows Hook 消息分类
  8. 一个Windows C++的线程类实现(封装API,形成一个类,但不完善。其实可以学习一下Delphi的TThread的写法)
  9. Tab切换顺序设置
  10. MinDoc v0.6 发布,轻量级文档在线管理系统