Apache Hadoop Yarn是Hdoop的一个子项目,被托管在Apache基金会。Yarn被集成在Hadoop2.0中,它相比较Hadoop1.0的主要特点是分离了资源管理器和处理组件。Yarn的诞生是由于需要对存储在Hdfs上数据进行大范围交互模式处理的需求驱动的。基于Yarn的Hadoop2.0的架构提供了一个更加通用的计算平台,不仅仅包含MapReduce。
作为Hadoop2.0的一部分,Yarn掌管了资源管理的能力,而不是在MapRduce和包中,所以数据可以被新的计算范式处理。这使得MapRduce可以更加专注于做它擅长的事,处理数据。有了Yarn,你可以在Hadoop上运行各种各样的应用,所有的应用共享一个资源管理器。许多公司为了迁移到Hadoop已经开始在Yarn上开发应用。
当企业数据存储在HDFS上,能够有多种方式处理数据是很重要的。由于Hadoop2.0和Yarn,企业现在可以在Hadoop上运行流处理,交互式处理和很多其他基于Hadoop的应用。
Yarn能做什么
Yarn能够在以下方面增强Hadoop计算集群的能力:
- Scalability
- Compatibility with MapReduce
- Improved cluster utilization
- Support for workloads other than MapReduce
- Agility
How YARN Works
Yarn的基本思想是分隔开JobTracker和TaskTracker的两项主要职能:
- a global ResourceManager
- a per-application ApplicationMaster
- a per-node slave NodeManager and
- a per-application Container running on a NodeManager