YARN
原文路径:http://hadoop.apache.org/docs/r0.23.0/hadoop-yarn/hadoop-yarn-site/YARN.html
Apache Hadoop NextGen MapReduce (YARN)
MapReduce在hadoop-0.23经历了一个大修,也就是现在的MapReduce 2.0,也叫做yarn
yarn的基本理念是将JobTracker拆分成两个主要功能:资源管理和作业调度监控(分开的守护进程)。一个应用既是传统意义的Map-Reduce作业,也是数据可用性组作业。
资源管理器(RM)、slave节点和节点管理构成了数据计算的框架。资源管理有最终权限决定系统所有应用的资源。
AM实际上是一个特殊的框架库,分派RM提供的资源和node管理器一起执行和监控作业任务。
RM有两个主要组件:调度程序和应用管理
调度程序的职责是:分配资源给各种运行的应用(当然这些应用受到了容量的约束、排队等)。调度程序是一个纯的调度程序,不监控也不跟踪应用的状态,同时也不对失败应用的做额外的操作(重启等)。调度程序基于应用的对资源的需求。它基于一系列的资源容器比如:内存、cpu、磁盘、网络等。在第一个版本,只支持内存。 调度程序有个可插拔策略的插件,目的是分割队列、应用等之间的集群资源。当前Map-Reduce调度比如Capacity调度、Fair调度都有些例子在插件中。 Capacity调度支持层级的队列,目的是为了共享可预计的集群资源。
应用管理职责是接收作业提交,谈判第一个容器执行这个应用指定的应用master,为应用master在失败的时候重启提交服务。
node管理是机器的框架代理,职责是框架,监控它们的资源用法(内存、cpu、磁盘、网络),同时报告给调度程序
应用Master职责是从调度程序获取合适的资源,跟踪和监控程序的状态
MRV2兼容hadoop-0.20.205,这意味着所有的Map-Reduce作业在重新编译后在MRv2下运行不会发生变化