最新的架构在hadoop-0.23做了介绍,主要讨论两个功能:资源管理和作业生命周期管理到单独的组件
新的RM管理应用的全局计算资源的分配以及每个ApplicationMaster 管理应用的调度和协调。
一个应用既是一个典型的MR任务场景中的一个job,也是一个这类工作的DAG
RM和每一个NM实例,管理着用户在机器上的操作,构成计算模型
每一个ApplicationMaster都是有效的,一个指定了类库的框架,负责和RM谈判资源以及和NM一起执行和监控任务
RM两个主要的组件:调度器和应用管理。调度器负责分配资源给不同的正在运行的应用主题,或者给熟悉的能力约束,或者队列等等
调度器在实际场景中纯粹是调度,它不执行监控和应用的状态的跟踪。而且,它不保证任务失败重启,无论是因为应用失败或者是硬件失
败,调度器只是执行它的基于应用资源需求的调度功能;它是合并单元,如内存,cpu,硬盘,网络等资源的容器的抽象概念,在早期的版本中,只是支持内存
调度器有对不同的队列,应用中的集群分区响应的可插拔式的插件。当前版本中的Map-reduce调度器,如能力调度器和公平调度器就是这一类的插件。
能力调度器支持分层的队列来实现集群资源的更多的预言分享。
ApplicationsMaster负责接受job-submissions,协商执行应用的第一个容器,指定ApplicationMaster和提供ApplicationMaster容器出错时重启服务。
NM是每台机器中负责容器,监控他们的资源使用情况(如cpu,memory,disk,network)和报告相同的RM/Scheduler的框架代理。
每个程序的ApplicationMaster有责任从调度器中协商适当的资源容器 ,跟踪他们的状态和监控处情况
MRV2维持和之前稳定版本(hadoop-1.x)api兼容性,这意味中所有的map-reduce jobs仅仅需要重新编译就依然没有改变的运行在MRV2之上。