Apache Yarn(Yet Another Resource Negotiator的缩写)是hadoop集群资源管理器系统,Yarn从hadoop 2引入,最初是为了改善MapReduce的实现,但是它具有通用性,同样执行其他分布式计算模式。
在MapReduce1中,具有如下局限性:
- 1、扩展性差:jobtracker兼顾资源管理和作业控制跟踪功能跟踪任务,启动失败或迟缓的任务,记录任务的执行状态,维护计数器),压力大,成为系统的瓶颈
- 2、可靠性差:采用了master/slave结构,master容易单点故障
- 3、资源利用率低:基于槽位的资源分配模型,槽位是一种粗粒度的资源划分单位,通常一个任务不会用完一个槽位的资源,hadoop1分为map slot和reduce slot,而它们之间资源不共享,造成一些资源空闲。
- 4、不支持多框架:不支持多种计算框架并行
yarn很好解决了MapReduce1中的局限性:yarn基本思想;一个全局的资源管理器resourcemanager和与每个应用对用的ApplicationMaster,Resourcemanager和NodeManager组成全新的通用系统,以分布式的方式管理应用程序。
所以针对MapReduce1,yarn就有了如下特点:
- 1、支持非mapreduce应用的需求
- 2、可扩展性
- 3、提高资源是用率
- 4、用户敏捷性
- 5、可以通过搭建为高可用