技术干货:YARN基本设计思想

简介:  在2013年的Hadoop峰会上,YARN是一个热点话题,YARN本质上是Hadoop的新操作系统,突破了MapReduce框架的性能瓶颈。Murthy认为Hadoop和YARN的组合是企业大数据平台致胜的关键。
0.jpg

 2013年的Hadoop峰会上,YARN是一个热点话题,YARN本质上是Hadoop的新操作系统,突破了MapReduce框架的性能瓶颈。Murthy认为HadoopYARN的组合是企业大数据平台致胜的关键。

以下内容摘自《Hadoop技术内幕:深入解析YARN架构设计与实现原理》董西成机械工业出版社

 

YARN基本设计思想】

本节我们通过对比两代MapReduce的基本框架和编程模型来帮助读者理解YARN的基本设计思想。

2.3.1基本框架对比

Hadoop 1.0中,JobTracker由资源管理(由TaskScheduler模块实现)和作业控制(由JobTracker中多个模块共同实现)两部分组成,具体如图2-6所示。当前Hadoop MapReduce之所以在可扩展性、资源利用率和多框架支持等方面存在不足,正是由于HadoopJobTracker赋予的功能过多而造成负载过重。此外,从设计角度上看,Hadoop未能够将资源管理相关的功能与应用程序相关的功能分开,造成Hadoop难以支持多种计算框架。

                            0

2-6 第一代MapReduce框架基本架构

下一代MapReduce框架的基本设计思想是将JobTracker的两个主要功能,即资源管理和作业控制(包括作业监控、容错等),分拆成两独立的进程,如图2-7所示。资源管理进程与具体应用程序无关,它负责整个集群的资源(内存、CPU、磁盘等)管理,而作业控制进程则是直接与应用程序相关的模块,且每个作业控制进程只负责管理一个作业。这样,通过将原有JobTracker中与应用程序相关和无关的模块分开,不仅减轻了JobTracker负载,也使得Hadoop支持更多的计算框架。

0

2-7 下一代MapReduce框架基本架构

从资源管理角度看,下一代MapReduce框架实际上衍生出了一个资源统一管理平台YARN,它使得Hadoop不再局限于仅支持MapReduce一种计算模型,而是可无限融入多种计算框架,且对这些框架进行统一管理和调度。

2.3.2 编程模型对比

前面提到MRv1主要由编程模型(由新旧API组成)、数据处理引擎(由MapTaskReduceTask组成)和运行时环境(由一个JobTracker和若干个TaskTracker组成)三部分组成,为了保证编程模型的向后兼容性,MRv2重用了MRv1中的编程模型和数据处理引擎,但运行时环境被完全重写,具体如下。

编程模型与数据处理引擎:MRv2重用了MRv1中的编程模型和数据处理引擎。为了能够让用户应用程序平滑迁移到Hadoop 2.0中,MRv2应尽可能保证编程接口的向后兼容性,但由于MRv2本身进行了改进和优化,它在向后兼容性方面存在少量问题。MapReduce应用程序编程接口有两套,分别是新APImapred)和旧APImapredue),MRv2可做到以下兼容性:采用MRv1 API编写的应用程序,可直接使用之前的JAR包将程序运行在MRv2上;但采用MRv1 API编写的应用程序则不可以,需要使用MRv2编程库重新编译并修改不兼容的参数和返回值,具体将在第8章介绍。

运行时环境:MRv1的运行时环境主要由两类服务组成,分别是JobTrackerTaskTracker。其中,JobTracker负责资源和任务的管理与调度,TaskTracker负责单个节点的资源管理和任务执行。MRv1将资源管理和应用程序管理两部分混杂在一起,使得它在扩展性、容错性和多框架支持等方面存在明显缺陷。而MRv2则通过将资源管理和应用程序管理两部分剥离开,分别由YARNApplicationMaster负责,其中,YARN专管资源管理和调度,而ApplicationMaster则负责与具体应用程序相关的任务切分、任务调度和容错等,具体如图2-8所示。

0


原文发布时间为:2013-12-29


本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

相关文章
|
4月前
|
资源调度 前端开发 大数据
大数据的yarn和前端的yarn冲突解决
大数据的yarn和前端的yarn冲突解决
|
资源调度 分布式计算 监控
|
5月前
|
资源调度 调度 容器
YARN核心架构
YARN核心架构
27 0
|
9月前
|
存储 资源调度 分布式计算
Hadoop生态系统中的资源管理与调度技术:YARN的原理与应用案例
Hadoop生态系统中的资源管理与调度技术:YARN的原理与应用案例
|
11月前
|
资源调度 容器
yarn基本架构和工作机制
yarn基本架构和工作机制
57 0
yarn基本架构和工作机制
|
12月前
|
存储 分布式计算 资源调度
Yarn的基本概念与资源调度
Hadoop是Apache的一个开源分布式计算平台,以分布式文件系统HDFS,和MapReduce为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。HDFS的高容错性、高伸缩性等优点形成分布式系统;MapReduce分布式编程模型让我们开发并行应用程序。
|
资源调度 分布式计算 监控
Yarn架构设计详解
今天来讲Yarn架构设计详解
302 0
Yarn架构设计详解
|
资源调度 分布式计算 监控
YARN 基本架构|学习笔记
快速学习 YARN 基本架构
YARN 基本架构|学习笔记
|
资源调度 分布式计算 Hadoop
YARN 工作机制|学习笔记
快速学习 YARN 工作机制
105 0
YARN 工作机制|学习笔记

相关实验场景

更多