Apache Hadoop YARN

本文固定链接:https://www.askmaclean.com/archives/hadoop-yarn.html

原文地址:http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html

 

Apache Hadoop YARN

 

 

YARN的基本思想是将基础的资源管理器和job 调度/监控分割为独立的进程。这个思想是有一个全局的资源管理(RM)和每一个进程的ApplicationMaster(AM)。一个应用进程既是一个单独的job也是一个job的DAG。
ResourceManager和NodeManager是从数据计算框架中而来。ResourceManager是最终的权威,用来仲裁在系统中应用程序的资源。NodeManager是每个机器的框架,代理负责容器,监控它们的资源使用(CPU、内存、磁盘、网络)并且报告给相同的ResourceManager/Scheduler。

每个应用程序的ApplicationMaster,实际上,是一个框架特定的库和负责从ResourceManager申请资源,并与NodeManager一起工作来执行和监控这个任务。

1122

 

ResourceManager 主要有2部分组成:Scheduler 和ApplicationsManager.

 

Scheduler 负责分配各种运行的应用程序资源,提供熟悉性能约束,队列等等。Scheduler是单纯的调度,在这个意义上,它不执行监视或跟踪应用程序的状态。此外,其不会保证重启失败的任务,无论是由应用进程故障护照硬件故障。Scheduler在应用进程所需的资源基础场执行调度功能;其记忆抽象的资源容器概念,其中包含元素例如:内存,磁盘,网络等等(www.askmaclean.com)。

 

调度程序有一个可插拔的政策,负责分区集群资源的各种队列,应用程序等等。当前的调度,例如:CapacityScheduler 和 FairScheduler是一些插件的例子。

 

ApplicationsManager负责接受提交的job,协商第一个执行应用程序的容器,指定ApplicationMaster和提供在故障的时候重启ApplicationMaster容器的服务。每个应用程序的ApplicationMaster负责从Scheduler协商合适的资源容器,跟踪它们的状态并且监控过程。

 

MapReduce 在hadoop-2x保持和之前版本的API兼容(hadoop-1.x)。这就意味着所有的MapRdeuce jobs 在YARN上运行不用变更,只是一个编译。

Comment

*

沪ICP备14014813号

沪公网安备 31010802001379号