第05章_MapReduce和Yarn技术原理 (1).pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

陈傲/cwx8602062020.04.01张新旗/wx701844优化

MapReduce和Yarn技术原理

本章主要讲述大数据领域中最著名的批处理与离线处理计算框架——MapReduce,包括MapReduce的原理、流程、使用场景,以及Hadoop集群中负责统一的资源管理与调度的组件——Yarn,包括Yarn的定义、功能与架构、HA方案和容错机制,以及利用Yarn完成资源调配的常用方法。最后,我们还简单介绍华为为这些组件所提供的增强特性。

学完本章后,您将能够:熟悉MapReduce和Yarn是什么掌握MapReduce使用的场景及其原理掌握MapReduce和Yarn功能与架构熟悉Yarn的新特性

MapReduce和Yarn基本介绍MapReduce和Yarn功能与架构Yarn的资源管理和任务调度增强特性

MapReduce概述MapReduce基于Google发布的MapReduce论文设计开发,基于分而治之的思想,用于大规模数据集(大于1TB)的并行计算和离线计算,具有如下特点:高度抽象的编程思想:程序员仅需描述做什么,具体怎么做交由系统的执行框架处理。良好的扩展性:可通过添加节点以扩展集群能力。高容错性:通过计算迁移或数据迁移等策略提高集群的可用性与容错性。

资源调度与分配在Hadoop1.0版本中,只有HDFS和MapReduce,而资源调度通过MRv1来进行,存在着很多缺陷:master是单点,故障恢复依赖于周期性的checkpoint,不保证可靠性,发生故障的时候会通知用户,由用户自行决定是否重新计算。没有区分作业调度与资源调度。MR在运行时,环境会有大量的Job并发,因此多样且高效的调度策略是非常重要的。没有提到资源隔离与安全性,大量Job并发的时候,如何保证单个Job不占用过多的资源,如何保证用户的程序对系统而言是安全的,在Hadoop1.0中是个大问题。因此,针对Hadoop1.0中MRv1的不足,以及为了满足编程范式多样化的需求,Hadoop2.0中正式引入了Yarn框架,以便更好地完成集群的资源调度与分配。

Yarn概述ApacheHadoopYARN(YetAnotherResourceNegotiator),中文名为“另一种资源协调者”。它是一种新的Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。MapReduce(离线处理)Storm(实时处理)Spark(迭代计算)其他Yarn(集群资源管理)HDFS(分布式存储)

MapReduce和Yarn基本介绍MapReduce和Yarn功能与架构Yarn的资源管理和任务调度增强特性

MapReduce过程顾名思义,MapReduce计算过程可具体分为两个阶段,Map阶段和Reduce阶段。其中,Map阶段输出的结果就是Reduce阶段的输入。可以把MapReduce理解为,把一堆杂乱无章的数据按照某种特征归纳起来,然后处理并得到最后的结果。Map面对的是杂乱无章的互不相关的数据,它解析每个数据,从中提取出key和value,也就是提取了数据的特征。到了Reduce阶段,数据是以key后面跟着若干个value来组织的,这些value有相关性。在此基础上我们可以做进一步的处理以便得到结果。

MapReduce工作流程分片4输入分片0分片1分片2分片3ShuffleMap任务Reduce任务输出Map()Map()Map()Map()Map()reduce()输出0输出1输出2reduce()reduce()

Map阶段详解Job提交前,先将待处理的文件进行分片(Split)。MR框架默认将一个块(Block)作为一个分片。客户端应用可以重定义块与分片的映射关系。Map阶段先把数据放入一个环形内存缓冲区,当缓冲区数据达到80%左右时发生溢写(Spill),需将缓冲区中的数据写入到本地磁盘。HDFS本地磁盘SplitDocumentPartition(分区)Sort(排序)Combine(合并)Merge(归并)环形内存缓冲区MapPhaseMapOutFile~80%时发生溢写map()(可选)

Reduce阶段详解前面提到的MOF文件是经过排序处理的。当ReduceTask接收的数据量不大时,则直接存放在内存缓冲区中,随着缓冲区文件的增多,MR后台线程将它们合并成一个更大的有序文件,这个动作是Reduce阶段的Merge操作,过程中会产生许多中间文件,最后一次合并的结果直接输出到用户自定义的reduce函数。当数据很少时,不需要溢写到磁盘,直接在缓存中归并,然后输出给Reduce。Copy(复制)HDF

文档评论(0)

vermonth155-2娟 + 关注
实名认证
文档贡献者

专注ppt课件

版权声明书
用户编号:8046135067000064

1亿VIP精品文档

相关文档