- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hadoop系统map阶段排序性能研究和优化
Hadoop系统map阶段排序性能研究和优化 摘要:MapReduce计算框架已被广泛用于大规模数据分析的应用。虽然它具有弹性的可扩展性和细粒度的容错系统,然而性能却并不令人满意。MapReduce可以通过分配更多的计算节点来实现更好的性能,但是,这种做法并不符合成本效益。用户渴望MapReduce在提供弹性的可扩展性和细密度容错的同时,可以具有更高的计算效率。该文提出了一种动态优化map阶段排序性能的方法,并进行了测试,测试结果表明,该方法能够提升MapReduce的基准测试性能。
关键词:Hadoop;MapReduce;排序;性能优化;动态
中图分类号:TP302.7 文献标识码:A 文章编号:1009-3044(2014)07-1410-03
1 介绍
随着物联网、社交网络等新的互联网技术的发展,数据被大量产生。如何从海量数据中获得有用的信息,为用户提供好的用户体验,增强企业的竞争力,这对海量数据处理来说是一个挑战。目前MapReduce计算框架[1]已成为海量数据处理的便利工具,它提供了一个特定的编程框架,并且对用户封装了计算的分布式并行、系统的扩展性和容错性。
Hadoop[2]是根据MapReduce架构实现的一个开源系统,并逐渐成为业界应用的标准。一些企业使用Hadoop完成网页索引、数据挖掘、日志文件分析、财务分析、科学模拟以及生物信息学的研究。然而Hadoop处理数据的性能却难以令人满意,人们对它的性能做了很多研究与改进方案,包括对分布式文件系统HDFS的性能研究与提升[3],Job参数的自动优化[4],Task调度策略的优化[5],等。这些优化方案都是通过对系统资源进行更合理的利用来提高MapReduce计算框架的性能。然而经过对Hadoop系统map阶段排序流程的研究后,我们发现,在相同的系统资源利用率的情况下,通过调整一些排序参数,可以有效提高map阶段的性能。
本文提出并实现了一种动态优化map阶段排序性能的方法,能够提升MapReduce的基准测试性能。使用wordcount算法和Terasort算法进行了测试,测试结果表明,该动态优化方法可以提高map阶段的性能15~20%。
本文的组织如下,第二节介绍MapReduce的工作原理,第三节分析map阶段的排序流程,并给出动态优化排序性能的方法,第四节给出了测试结果与分析,最后给出结论。
2 MapReduce工作原理
MapReduce是一种编程模型,用于大规模数据集的并行运算。它借用函数式编程语言里的两个概念”Map”和”Reduce”,来约束计算的并行模型。一个典型的MapReduce作业包括3个阶段:
1)准备阶段
当用户将作业提交给JobTracker进程后,JobTracker根据用户的作业配置参数以及处理数据的规模,生成若干个独立的“map”任务和”reduce”任务。这些任务将会在不同的TaskTracker节点上执行,从而有效地利用集群的资源来提高作业的执行效率。
2)map阶段
当TaskTracker有空闲的资源时,它会从JobTracker请求任务来执行。JobTracker会优先调度“map”任务给TaskTracker节点。若TaskTracker请求到一个新的“map”任务时,它会从HDFS中获取输入数据(一个文件分片)并启动一个JVM虚拟机来执行这个“map”任务。
“map”任务的执行过程首先是从输入数据中抽取一条记录,然后对该记录应用用户定义的处理代码(即用户的map函数),处理结果的记录将写入内存。当处理结果的记录达到一定数目后,会进行快速排序;当处理结果的记录占用内存达到一定的阈值或者输入数据全部处理完毕,会对快速排序的结果做一次合并排序并进行分区,最后写到本地的文件系统中。
3)Reduce阶段
若TaskTracker请求到一个新的“reduce”任务时,它需要从已完成的map任务所在的TaskTracker节点上获取输入数据。首先从JobTracker上监听已完成的“map”任务,任务所在的TaskTracker节点,对应的分区数据在节点文件系统中的偏移量;然后使用HTTP协议从TaskTracker节点上读取“reduce”任务所需要的数据。
当“reduce”任务获取了所有“map”任务的结果数据后,它会将这些数据进行一次合并,并对合并的结果应用用户定义的处理代码(即用户的reduce函数),处理结果的记录将写入HDFS。
3 Map阶段排序优化方法
Map阶段的数据处理过程是一个对输入数据的映射(map)计算、排序和分区,然后写入磁盘的过程。为了方便描述“map”阶段的过程研究,首
您可能关注的文档
- AIRSEA SystemⅡ中新型液压缓冲器设计和研究.doc
- Android消息推送机制在城市通中应用探究.doc
- ANP法在地质公园旅游竞争力评价中应用.doc
- Antica Roma 纵享古罗马美味.doc
- AP1000核岛CV底封头自密实混凝土(灌浆料)搅拌设备研制和试验.doc
- APA协议在电力调度通信系统中应用.doc
- APC在口腔黏膜白斑与口腔鳞状细胞癌中表达和其意义.doc
- apelin―APJ系统和肺动脉高压.doc
- AP1000核电控制棒驱动机构抽样检验探析.doc
- Application of EVA in the Performance Evaluation of the State―Owned.doc
- HK Will Seize Every Opportunity Arising from China’s Deepening Reforms.doc
- How to Improve Middle School Students’ Listening Ability.doc
- GPS高程拟合法在山区工程测量中应用.doc
- HP500破碎机动锥躯体频繁裂纹原因研究和对策.doc
- Holys全身伽玛刀在全身肿瘤治疗上应用.doc
- HPLC法测定平胃散中聚乙炔类成分.doc
- HPLC测定白头翁皂苷D油水分配系数和平衡溶解度.doc
- HPLC测定肉和肉制品中苯甲酸、山梨酸、糖精钠前处理方法探究.doc
- HSE管理原则和企业安全文化建设.doc
- HT公司绩效评价体系存在问题和解决对策.doc
最近下载
- 胎圈钢丝市场洞察报告.pptx VIP
- Starter Unit 2 Keep Tidy Section A 1a-2e 课件 人教版2024七年级英语上册.pptx
- (9号)青岛天信电气500KW变频器培训资料(四象限).ppt
- 传统风貌区打测绘说明书.pdf
- 2025年传染病防治法培训试题及答案.docx VIP
- 金蝶云星空操作手册V3.5.docx VIP
- 《质量管理》试题题库汇总及参考答案 .pdf VIP
- 2024年八个方面检视剖析材料.docx VIP
- 2023燃气-蒸汽联合循环发电工程建设预算项目划分导则.docx VIP
- 基于文旅融合视角的研学旅游产品创新发展研究——以大连市为例.docx VIP
文档评论(0)