hadoop1存在的问题
1、单点故障,可靠性低: JobTracker采用了master/slave结构,是集群事务的集中处理点,存在单点故障
2、单点瓶颈,扩展性差: 需要完成的任务太多,JobTracker兼顾资源管理和作业控制跟踪功能跟踪任务,启动失败或者迟缓的任务,记录任务的执行状态,维护计数器,压力大,成为系统瓶颈
3、资源管理和任务执行强耦合: 在JobTracker端,用Map/Reduce Task作为资源的表示过于简单,没有考虑到CPU、内存等资源情况,当把两个需要消耗大内的Task调度到一起,很容易出现OOM。
4、资源利用率低: 基于槽位的资源分配模型,槽位是一种粗粒度的资源划分单位,通常一个任务不会用完一个槽位的资源,hadoop1把资源强制划分为Map/Reduce两种Slot,当只有maptask时,Reduce slot不能用,当只有Reduce Task时,Map Slot不能用,容易造成资源利用 不足
5、不支持多种分布式计算框架
Hadoop YARN架构演进
从Hadoop-2.x开始,Hadoop的架构发生了变化:将hadoop1的MapReduce集群一分为二 MapReduce和YARN
- MapReduce: 仅仅只是一套用来编写分布式计算应用程序的API
- YARN: 是