MapReduce源码分析及性能改进

来源 :湖北大学 | 被引量 : 0次 | 上传用户:wynfloodforce
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着互联网和移动终端的高速发展并运用于每个企业及个人,产生的信息数据呈几何数量级增长,人类早已进入一个“信息大爆炸”的时代。如何高效而又稳定地处理这些海量数据,成为一个迫在眉睫的问题。Hadoop正是在这样一个时代背景之下产生的一个开源分布式计算平台,它可以充分利用集群的计算和存储能力,完成大数据的处理。Hadoop 以 Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)和MapReduce(Google MapReduce的开源实现)为核心,为用户提供系统底层细节透明的分布式基础架构。作为Hadoop核心组件的MapReduce是一种编程模型,用于大规模数据集的并行运算,其对Hadoop在大数据的处理过程中的性能和效率起着关键性和决定性作用。本文首先介绍了 Hadoop和MapReduce的产生背景,并对MapReduce的功能作了简单描述;对MapReduce执行流程和架构进行分析,对MapReduce的各个细节作了介绍。接着,本文从源码角度出发分析了 MapReduce作业的执行过程,其中对作业的整个执行过程所涉及的核心功能代码作了着重分析。当一定比例的Map任务执行完成后,Reduce节点就会拷贝这些Map任务的输出数据,直到所有数据拷贝完毕才开始真正的Reduce操作。这个从Map端产生数据到Reduce端拷贝这些数据的过程称为Shuffle。Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方,集中了 MapReduce过程最关键的部分,Shuffle的过程包含的细节多且横跨Map与Reduce两端,理解Shuffle的过程,有利于对MapReduce作业性能调优。在现实的集群中,Map端和Reduce端往往分配在不同的机器上,所以拷贝Map输出结果数据必须经由网络传输,并且,往往Map节点数目很大,而Reduce节点数量一般只有少量几台甚至一台。此外,MapReduce作业的大部分工作是在Map端完成的,产生的结果数据也就相对较大。因此,Reduce端要经过网络拷贝的Map结果数据量是相当可观的。网络带宽一直是大规模集群的宝贵资源,大量的结果数据由网络传输相当耗时,并且容易出错,因此,Reduce端对Map端大量的结果数据的拷贝过程是MapReuce作业执行的性能瓶颈。本文详细分析了 Shuffle的过程,并在之前章节对源码分析的基础上,提出自己的改进思想:对Map节点上同一作业的多个Map任务所产生的大量临时结果数据做总的合并,取代原有MapReduce架构对单个Map任务的结果数据做合并的机制,解决原有的一个Map节点上结果数据个数多和数据量大,并且Reduce端拷贝这些数据过于耗时和失败率高的问题。该改进方案减少了 Map节点的输出结果数据量,以达到大量减少整个集群的网络传输数据量,并降低数据传输失败率,让MapReuce作业的执行时间在一定程度上减少,从而提升MapReuce的执行性能。
其他文献
随着经济的发展及工业水平的进步,环境污染问题也越来越严峻,尤其是重金属污染离子对环境的危害已经引起了人们的广泛关注。同时,人类的健康受到的有毒金属离子的威胁。因此,
桥梁预防性养护,是在桥梁未发生病害或已有非结构性病害下进行的桥梁养护,与传统养护相比具有减少养护资金、延长使用寿命和提高桥梁服务水平等优点。我国在桥梁预防性养护方
晶体,由于其良好的光学性能、机械性能、化学性能以及许多特有的性质,在国防、航海、航天、医疗等领域得到了普遍应用。晶体从晶棒到成品需要经过晶棒定向、晶棒粘料、晶棒切
在单晶材料加工领域,晶棒的磨削和定向是两道关键的加工工序。目前,用于晶棒磨削的辊磨机和用于晶棒定向的X射线定向仪两种设备是分开的,导致晶棒加工工艺繁琐,生产效率低,定
随着信息技术的飞速发展,同时互联网在日常生活中非常普遍的使用,信息资源越来越成为当前比较重要的社会资源。在我国,中文文本作为一个使用非常广泛的信息载体,在信息传递、
人脸检测作为自动人脸识别系统中的首要环节,如何快速准确检测出目标图像中的各种人脸直接影响到后续的人脸应用研究。因而在计算机视觉和模式识别领域中,人脸检测的研究一直
党的十九大提出,中国特色社会主义当今已经进入新时代,人民日益增长的美好生活需要和不平衡不充分的发展二者的矛盾已经成为新时期我国社会主要矛盾,当前主要使命在于全面建
空间机器人是太空探索活动的重要参与者,对其运动控制的研究一直是国内外科研工作者的研究热点。由于空间机器人在服务阶段存在各种不确定性,如系统质量改变、摩擦、外部干扰
多屏互动系统可以让不同操作系统的终端设备通过无线连接的方式,实现数字多媒体内容的传输以及一些控制功能。多屏互动系统旨在通过联合众多智能设备,发挥每个设备的优势来给
过去的几十年,旅游业在世界各地得到了快速的发展。在我国旅游业发展的增长率为7%,占国内生产总值比例的10%。这一经济比重,引起了国家和社会的高度重视,所以我国旅游业的发