YARN:下一代 Hadoop 计算平台

我们现在稍微改变一下用辞。以下名称的改动有助于更好地了解 YARN 的设计:

  • ResourceManager 代替集群管理器
  • ApplicationMaster 代替一个专用且短暂的 JobTracker
  • NodeManager 代替 TaskTracker
  • 一个分布式应用程序代替一个 MapReduce 作业

YARN 是下一代 Hadoop 计算平台,如下所示。

YARN 的架构

在 YARN 架构中,一个全局 ResourceManager 以主要后台进程的形式运行,它通常在专用机器上运行,在各种竞争的应用程序之间仲裁可用的集群资源。ResourceManager 会追踪集群中有多少可用的活动节点和资源,协调用户提交的哪些应用程序应该在何时获取这些资源。ResourceManager 是惟一拥有此信息的进程,所以它可通过某种共享的、安全的、多租户的方式制定分配(或者调度)决策(例如,依据应用程序优先级、队列容量、ACLs、数据位置等)。

在用户提交一个应用程序时,一个称为 ApplicationMaster 的轻量型进程实例会启动来协调应用程序内的所有任务的执行。这包括监视任务,重新启动失败的任务,推测性地运行缓慢的任务,以及计算应用程序计数器值的总和。这些职责以前分配给所有作业的单个 JobTracker。ApplicationMaster 和属于它的应用程序的任务,在受 NodeManager 控制的资源容器中运行。

NodeManager 是 TaskTracker 的一种更加普通和高效的版本。没有固定数量的 map 和 reduce slots,NodeManager 拥有许多动态创建的资源容器。容器的大小取决于它所包含的资源量,比如内存、CPU、磁盘和网络 IO。目前,仅支持内存和 CPU (YARN-3)。未来可使用 cgroups 来控制磁盘和网络 IO。一个节点上的容器数量,由配置参数与专用于从属后台进程和操作系统的资源以外的节点资源总量(比如总 CPU 数和总内存)共同决定。

有趣的是,ApplicationMaster 可在容器内运行任何类型的任务。例如,MapReduce ApplicationMaster 请求一个容器来启动 map 或 reduce 任务,而 Giraph ApplicationMaster 请求一个容器来运行 Giraph 任务。您还可以实现一个自定义的 ApplicationMaster 来运行特定的任务,进而发明出一种全新的分布式应用程序框架,改变大数据世界的格局。您可以查阅 Apache Twill,它旨在简化 YARN 之上的分布式应用程序的编写。

在 YARN 中,MapReduce 降级为一个分布式应用程序的一个角色(但仍是一个非常流行且有用的角色),现在称为 MRv2。MRv2 是经典 MapReduce 引擎(现在称为 MRv1)的重现,运行在 YARN 之上。

最新文章

  1. JAVA代码验证身份证信息
  2. angularJS ngClass如何使用
  3. SIGGRAPH2016【转】
  4. MySQL两种表存储结构MyISAM和InnoDB的性能比较测试
  5. 平行四边形TikZ作图
  6. 多线程同步内功心法——PV操作上(未完待续。。。)
  7. IOS中 如何去除Tabview里面cell之间的下划线
  8. 简化版的Flappy Bird开发过程(不使用第三方框架)
  9. DEBUG不能进断点 “exited with code -1073741515”
  10. Echarts数据可视化series-graph关系图,开发全解+完美注释
  11. 学习MACD指标
  12. C++版 - Lintcode 77-Longest Common Subsequence最长公共子序列(LCS) - 题解
  13. Struts 2中如何解决中文乱码问题?
  14. 关于DDS的基础知识
  15. mysql的orde by 按照指定状态顺序排序
  16. git安装项目步骤
  17. [转].Net实现本地化简易教程
  18. Mac OS X 命令行用户应当知道的八个终端工具
  19. k-means算法及matlab实现
  20. C#开机启动与退出程序

热门文章

  1. Makefile 7——自动生成依赖关系 三颗星
  2. JavaScript高级 面向对象(4)--值类型和引用类型
  3. JavaScript高级 面向对象(1)--添加一个div标签
  4. 【WPF】动态设置Binding的ConverterParameter转换器参数
  5. Linux 含有ext 分区的镜像无法再Windows上拷贝的解决办法
  6. contiki bsp
  7. JavaScrip——简单练习(抓错误信息,for循环,日期)
  8. java——关于异常处理机制的简单原理和应用2(转)
  9. socket数据收发
  10. http抓包工具