提高任务并行度以优化MapReduce集群资源的利用
发布时间:2017-05-26 16:03
本文关键词:提高任务并行度以优化MapReduce集群资源的利用,由笔耕文化传播整理发布。
【摘要】:作为一种编程模型,MapReduce已经成为处理大规模数据处理问题的一个重要手段。目前,MapReduce已被广泛地应用于Web搜索,机器学习,电子商务等领域。Hadoop,作为MapReduce的一种开源实现,已经被广泛地用到离线大数据处理。目前因为对处理海量数据的要求持续增长,Hadoop集群的规模也变的越来越大。为了管理大规模集群,人们试图去提高集群的效率水平,用更强大的计算节点和水平扩展去构建的集群。这时高效地利用集群资源将变得更有挑战性。在研究Hadoop的过程中,发现在Hadoop的数据处理的并行粒度是比较大的,同时它不能充分利用多核系统的优势。这些问题会降低整个集群资源利用率和集群效率。为此,本文提出一种更加细粒度的数据处理策略,在增加系统负担的情况下,对HDFS的数据块进一步地进行分片,同时,在MapReduce的任务下产生多线程,充分利用多核系统,进一步地进行以提高任务执行的并行度,从而优化集群资源利用率和提升作业执行的速度。我们把这个策略作为一个功能模块实现在开源项目Hadoop上,并且这个的实现并不会影响Hadoop原来的执行策略。为了验证本文提出的这个策略,我们在搭建了Hadoop集群,并做了广泛的实验。实验结果显示本文提出的策略不仅能优化MapReduce集群的资源利用率,还能缩短作业的完成时间至三倍。
【关键词】:MapReduce 并行度 资源利用率 多核 子任务
【学位授予单位】:上海交通大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP311.13
【目录】:
- 摘要3-4
- ABSTRACT4-9
- 第一章 绪论9-14
- 1.1 研究背景及意义9-11
- 1.2 国内外研究现状11-12
- 1.3 主要研究内容12-13
- 1.4 论文结构13-14
- 第二章 本文相关技术介绍14-31
- 2.1 MapReduce编程模型14
- 2.2 Hadoop分布式文件系统14-20
- 2.2.1 数据块15-16
- 2.2.2 名字节点和数据节点16-17
- 2.2.3 HDFS的数据读写操作17-20
- 2.3 Hadoop MapReduce介绍20-25
- 2.3.1 Hadoop MapReduce作业的生命周期22-23
- 2.3.2 Map和Reduce任务23-25
- 2.4 Hadoop RPC框架介绍25-30
- 2.4.1 Hadoop RPC基本框架26-29
- 2.4.2 基于RPC的MapReduce通信协议介绍29-30
- 2.5 本章小结30-31
- 第三章 细粒度任务并行策略的设计31-37
- 3.1 概要31
- 3.2 子数据块的设计31-33
- 3.3 MapReduce任务的设计33-36
- 3.3.1 概要33-34
- 3.3.2 Map子任务的设计34-35
- 3.3.3 Reduce子任务的设计35
- 3.3.4 备份任务的设计35-36
- 3.4 Pre-shuffle的设计36
- 3.5 本章小结36-37
- 第四章 细粒度任务并行策略的实现37-61
- 4.1 子数据块的实现37-46
- 4.1.1 概述37-38
- 4.1.2 流式接口的实现38-41
- 4.1.3 子数据块的读操作实现41-43
- 4.1.4 子数据块的写操作实现43-46
- 4.2 子任务的实现46-55
- 4.2.1 Map子任务的实现47-53
- 4.2.2 Reduce子任务的实现53-55
- 4.3 Pre-shuffle的实现55-60
- 4.4 本章小结60-61
- 第五章 细粒度任务并行策略的实验评估61-71
- 5.1 实验环境的搭建61-62
- 5.2 扩展性的实验评估62-64
- 5.3 在不同CPU个数下的性能实验评估64-66
- 5.4 资源利用率的实验评估66-70
- 5.5 Pre-shuffle的实验评估70
- 5.6 本章小结70-71
- 参考文献71-75
- 致谢75-76
- 攻读硕士学位期间已发表或录用的论文76-78
【参考文献】
中国期刊全文数据库 前1条
1 林伟伟;;一种改进的Hadoop数据放置策略[J];华南理工大学学报(自然科学版);2012年01期
本文关键词:提高任务并行度以优化MapReduce集群资源的利用,由笔耕文化传播整理发布。
,本文编号:397320
本文链接:https://www.wllwen.com/shoufeilunwen/xixikjs/397320.html