MapReduce平台优化详解_第1页
MapReduce平台优化详解_第2页
MapReduce平台优化详解_第3页
MapReduce平台优化详解_第4页
MapReduce平台优化详解_第5页
免费预览已结束,剩余28页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、技术创新,变革未来MapReduce平台优化详解内容MapReduce优化MapReduce数据压缩Yarn在hadoop中的位置 Yarn的优点Yarn运行机制MapReduce优化MapReduce优化CombinerMapReduce优化CombinerMapReduce优化CombinerCombiner介于 Mapper和Reducer之间Combiner是Map任务的一部分执行完 map 函数后紧接着执行combineCombiner可以看做局部的Reducer(local reducer)一般情况下不需要单独编写CombinerCombiner在Job中的设置:MapReduce

2、优化CombinerCombiner优点:减少Map Task输出的数据量减少Shuffle网络传输的数据量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),得到的结果为15MapReduce优化Partitioner

3、MapReduce优化PartitionerPartitioner 处于 Map阶段Mapper处理的数据,由Partitioner进行分区Mapper的结果均匀分布到Reducer上面执行Partitioner 的默认实现:hash(key) mod R自定义 Partitioner,继承Partitioner类,实现下面方法, 其中numPartitions 为 Reduce 的个数Partitioner实例根据成绩数据,统计出每个年龄段的男、女考生的最高分同一年龄段的考生进入相同的ReduceMapReduce数据压缩数据压缩目的降低磁盘IO降低网络IO降低存储成本MapReduce压缩

4、格式比较MapReduce中使用压缩Map输出结果压缩Reduce输出结果压缩Yarn在hadoop中的位置Yarn的优点离线计算框架MR流式计算框架Storm内存计算框架SparkYarn的优点Yarn的优点YARN把JobTracker分为ResouceManager和 ApplicationMaster,ResouceManager专管整个集 群的资源管理和调度,而ApplicationMaster则负责 应用程序的任务调度和容错等YARN不再是一个单纯的计算框架,而是一个框 架管理器,用户可以将各种各样的计算框架移植到 YARN之上,由YARN进行统一管理和资源分配对于资源的表示以内存

5、和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:对任务运行

6、环境进行抽象,封装CPU、内存等 资源Yarn运行机制(6)容错RM:HA方案避免单点故障AM:AM向RM周期性发送心跳,出故障后RM会启动新的AM,受最大失败次数限制NM:周期性RM发送心跳,如果一定时间内没有发送, RM 就认为该NM 挂掉了,或者NM上运行的Task失败次数 太多,就会把上面所有任务调度到其它NM上Task:Task也可能运行挂掉,比如内存超出了或者磁盘 挂掉了,NM会汇报AM,AM会把该Task调度到其它节点上,但受到重试次数的限制Yarn运行机制多队列多队列组织方式以队列方式组织作业将所有应用程序放到多个队列中每个队列对应一定比例的资源可限制每个用户使用资源量按队列组

7、织资源和用户,符合生产需要两种多队列调度器:Capacity Scheduler和Fair SchedulerYarn运行机制多队列app21app22app23app24app25app31app32app33app34app35app36app37app11app12app13app14app15app16按到达时间排序,先来先服务queueAqueueB100 memory(20%)(50%)queueC(30%)Yarn运行机制多队列启用capacity schduler,在yarn-site.xml中添加Yarn运行机制多队列Root100%,100%etl30%,100%repor

8、t30%,100%default40%,100%在capacityscheduler.xml中配置Yarn运行机制多队列新建capacity-scheduler.xml 设置修改之后,只需运行,不需重启YARN:yarn rmadmin -refreshQueuesYarn运行机制资源管理配置NodeManager配置参数(yarnsite.xml设置)yarn.nodemanager.resource.memory-mbNodeManager可以用于YARN的内存量,默认:8096(MB)。比如机器共有32GB内存,分YARN24GByarn.nodemanager.resource.cpu

9、-vcoresNodeManager可以用于YARN的虚拟CPU量(与物理cpu没有 直接关系,可以自己配置),默认:8,需要根据实际资源使用情况调 整该参数,比如32核CPU,可能可以设置成56。如果有32核cpu,刚开始可以把这个值设置为32,通过监控 看节点cpu是否繁忙,如果不繁忙可以把这个值逐步增加,一般来说最好不要增加到32(实际cpu核数)的2倍,即这个值应该设置为3264之间Yarn运行机制资源管理配置ResourceManager配置参数(yarnsite.xml设置)yarn.scheduler.minimumallocationmb单个container最少请求的资源量,

10、默认是1024(MB)。默认值即可yarn.scheduler.maximumallocationmb单个container最大请求的资源量,默认是8196(MB)。需调大,比如20GB甚至更多yarn.scheduler.minimum-allocation-vcores单个container可申请的最小虚拟CPU个数,默认是1yarn.scheduler.maximum-allocation-vcores单个container可申请的最多虚拟CPU个数,默认是32Yarn运行机制资源管理配置MapReduce配置参数(添加到mapred-site.xml 中)mapreduce.map.memory.mb mapreduce.reduce.memory.mb mapreduce.map.cpu.vcores mapreduce.reduce.cpu.vcores指定map和reduce task的内存大小,该值应该在RM的最大最小container之间,CPU也一样可以使用如下命令在提交任务时动态设置yarn jar -Dmapreduce.reduce.memory.mb=2048-Dmapred

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论