大数据技术相关软件课件次课.pptx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

MR深入理解(2)

内容MapReduce优化MapReduce数据压缩Yarn在hadoop中的位置Yarn的优点Yarn运行机制

MapReduce优化

MapReduce优化——Combiner

MapReduce优化——CombinerCombiner介于Mapper和Reducer之间Combine是Map任务的一部分执行完map函数后紧接着执行combineCombiner可以看做局部的Reducer(localreducer)一般情况下不需要单独编写CombinerCombiner在Job中的设置:

MapReduce优化——CombinerCombiner优点:减少MapTask输出的数据量(即磁盘IO)减少Shuffle网络传输的数据量(即网络IO)Combiner使用场景:不是所有场景都可以用Combiner适合于Sum()求和,并不适合Average()求平均数0、20、10、25和15的平均数,直接使用Reduce求平均数Average(0,20,10,25,15),得到的结果是14使用Combiner分别对不同Mapper结果求平均数,Average(0,20,10)=10,Average(25,15)=20再使用Reducer求平均数Average(10,20),得到的结果为15

MapReduce优化——Partitioner

MapReduce优化——PartitionerPartitioner处于Map阶段Mapper处理的数据,由Partitioner进行分区Mapper的结果均匀分布到Reducer上面执行Partitioner的默认实现:hash(key)modR自定义Partitioner,继承Partitioner类,实现下面方法,其中numPartitions为Reduce的个数

Partitioner实例根据成绩数据,统计出每个年龄段的男、女学生的最高分

Combiner+Partitioner实例根据明星搜索指数,分别统计出搜索指数最高的男明星和女明星

MapReduce数据压缩数据压缩目的降低磁盘IO降低网络IO降低存储成本

MapReduce压缩格式比较

MapReduce中使用压缩Map输出结果压缩Reduce输出结果压缩

Yarn在hadoop中的位置

Yarn的优点YARN把JobTracker分为ResouceManager和ApplicationMaster,ResouceManager专管整个集群的资源管理和调度,而ApplicationMaster则负责应用程序的任务调度和容错等YARN不再是一个单纯的计算框架,而是一个框架管理器,用户可以将各种各样的计算框架移植到YARN之上,由YARN进行统一管理和资源分配对于资源的表示以内存和CPU为单位,比之前slot更合理

Yarn运行机制(1)YARN主要由RM、NM、AM和Container等4个组件构成

Yarn运行机制(2)

Yarn运行机制(3)

Yarn运行机制(4)ResourceManager:处理客户端请求启动和监控ApplicationMaster监控NodeManager资源的分配与调度NodeManager:管理单个节点上的资源处理来自ResourceManager的命令处理来自ApplicationMaster的命令

Yarn运行机制(5)ApplicationMaster:为应用程序申请资源并分配给内部的任务任务的监控与容错Container:对任务运行环境进行抽象,封装CPU、内存等资源

Yarn运行机制(6)——容错RM:HA方案避免单点故障AM:AM向RM周期性发送心跳,出故障后RM会启动新的AM,受最大失败次数限制NM:周期性RM发送心跳,如果一定时间内没有发送,RM就认为该NM挂掉了,或者NM上运行的Task失败次数太多,就会把上面所有任务调度到其它NM上Task:Task也可能运行挂掉,比如内存超出了或者磁盘挂掉了,NM会汇报AM,AM会把该Task调度到其它节点上,但受到重试次数的限制

MapReduce数据本地性同节点(node-local):需要处理的block节点上正好有空闲资源可运行Task同机架(rack-local):需要处理的block节点的同机架节点上有空闲资源可运行Task跨机架(off-switch):需要处理的block节点的不同机架节点上有空闲资源可运行Task

回顾MapReduce优化MapReduce数据压缩Yarn在hadoop中的位置Yarn的优点Yarn运行机制

谢谢!

文档评论(0)

lzjbook118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档