Hadoop基础教程:MapReduce基本框架对比
最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!
我要咨询对比两代MapReduce的基本框架和编程模型来帮助读者理解YARN的基本设计思想。
基本框架对比
在Hadoop 1.0中,JobTracker由资源管理(由TaskScheduler模块实现)和作业控制(由JobTracker中多个模块共同实现)两部分组成,具体如图2-6所示。当前Hadoop MapReduce之所以在可扩展性、资源利用率和多框架支持等方面存在不足,正是由于Hadoop对JobTracker赋予的功能过多而造成负载过重。此外,从设计角度上看,Hadoop未能够将资源管理相关的功能与应用程序相关的功能分开,造成Hadoop难以支持多种计算框架。
下一代MapReduce框架的基本设计思想是将JobTracker的两个主要功能,即资源管理和作业控制(包括作业监控、容错等),分拆成两独立的进程,如图2-7所示。资源管理进程与具体应用程序无关,它负责整个集群的资源(内存、CPU、磁盘等)管理,而作业控制进程则是直接与应用程序相关的模块,且每个作业控制进程只负责管理一个作业。这样,通过将原有JobTracker中与应用程序相关和无关的模块分开,不仅减轻了JobTracker负载,也使得Hadoop支持更多的计算框架。
从资源管理角度看,下一代MapReduce框架实际上衍生出了一个资源统一管理平台YARN,它使得Hadoop不再局限于仅支持MapReduce一种计算模型,而是可无限融入多种计算框架,且对这些框架进行统一管理和调度。