Yarn架构介绍

Yarn(Yet Another Resource Negotiator)是Hadoop2.0引入的资源管理器,它可以把一台服务器上的计算资源(内存、磁盘、CPU)抽象为一个虚拟资源池,以便用户可以更加方便的在Hadoop集群中运行任务。Yarn的基本架构如下图所示:

Yarn基本架构

1、Resource Manager:资源管理器,负责管理集群的资源,调度任务,监控任务,并且把任务分配给NodeManager。

2、Node Manager:节点管理器,负责管理每个节点的资源,监控节点的资源使用情况,并且将节点的资源使用情况上报给Resource Manager。

3、Application Master:应用程序管理器,负责管理用户提交的应用程序,向Resource Manager申请资源,并且将资源分配给用户提交的任务,当任务完成后,将结果上报给Resource Manager。

4、Container:容器,是由Resource Manager分配给Node Manager的一块资源,用于运行用户提交的任务。

Yarn的优势

1、Yarn能够更好的管理集群资源,能够更加有效的利用集群资源,让用户能够更加方便的在Hadoop集群中运行任务。

2、Yarn可以支持多种不同的应用程序,比如MapReduce、Spark、Hive等,而且还可以支持用户自定义的应用程序,使得用户可以更加方便的在Hadoop集群中运行任务。

3、Yarn还支持多种不同的资源调度策略,比如先进先出(FIFO)、公平调度(Fair Scheduler)、抢占式调度(Capacity Scheduler)等,使得用户可以根据自己的需求来调度集群资源。