1. 初代MR的不足
(1.JobTracker要承担的任务过大,维护Job状态的同时又要维护job的task状态,造成过多资源消耗在Tarcker。2.在TaskTracker端会消耗大量的资源用于调度整合,容易出现OOM。3.把资源强制划分为M Slot / R Slot )
1、扩展性差
2、可靠性低
3、资源利用率低
4、不支持多种计算框架
2. 首先我们要知道Yarn是什么?
Yarn是一个资源调度平台(它是Hadoop2以上的新特性),负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MR等运算程序则相当于运行于操作系统之上的应用程序。它弥补的初代MR编程框架的不足。Yarn不知程序的运行机制,只提供运算资源的调度,主管角色ResourceManager,运算资源角色NodeManager。
3. Yarn的优势
作为资源的调度者,它于运行程序完全解耦,就意味这Yarn上可以运行各种类型的分布式计算程序(MapReduce,Storm,Spark等)。
1: Yarn有两个单独的守护进程,ResourceManager和ApplicationMaster。
2: ResourceManager与NodeManager组成了基本的数据计算框架,ResourceManager负责协调集群的资源利用。
4. Yarn的基本框架