论文摘要
近年来,随着信息技术的迅猛发展和普及应用,行业应用系统的规模迅速扩大,行业应用所产生的数据呈爆炸性增长。传统的关系数据库技术和系统既无法存储也难以有效处理巨量增长的大数据。大数据的有效处理已经成为现实世界的迫切需求。在此背景下,采用并行计算技术,在一个大规模的分布式数据存储和并行计算平台上完成大数据并行化处理,己成为当前学术界和工业界的普遍共识。Google公司所发明的MapReduce并行计算技术,因其高易用性和高可扩展性而成为目前最成功的大数据并行处理技术,并己广泛应用于各种涉及到大数据处理的不同应用领域。Hadoop作为MapReduce的开源实现,目前已成为大数据处理的主流技术平台和事实上的工业标准。然而,MapReduc e设计之初主要是为了进行海量数据的线下批处理,针对响应性能要求较高的数据查询分析处理,其响应性能存在较大的不足。因此,针对Hadoop MapReduce并行计算框架的性能优化研究一直是近年来大家关注的热点技术问题。为了提升Hado op系统的性能,本文对HadoopMapReduce系统框架底层进行了深入分析,在此基础上,针对Hadoop系统无法动态调度和使用计算资源以及缺少作业动态优化调度能力的缺陷,进行了Hadoop MapReduce执行框架相关优化技术的研究。本文的优化技术研究内容主要分为以下两个部分:(1)标准Hadoop中,决定作业并发任务数目的计算资源slot是针对整个Hadoop系统静态配置的,作业执行时即使存在计算资源忙闲不均,也无法动态改变资源配置。针对这种情况,本文研究解决了一种基于集群资源环境感知的动态资源分配优化技术方法,用以动态检测和调整节点上计算资源的使用率从而提商MapReduce作业和任务执行的并发度。(2)作业调度是Hadoop系统中的重要组成部分,直接关系到系统的整体性能。然而现有主流的作业调度算法未能根据作业执行时的资源开销特征去进行调度和配置,导致集群中各个节点可能因某种资源枯竭而导致作业配置不均衡的状况。本文研究实现了一种基于作业资源开销特征的调度算法,从而提高多作业环境下系统的执行性能和资源利用率。最后,本文使用测试用例对前述的两个优化方案分别进行了测试,实验结果表明所研究实现的性能优化方案的有效性,具有较为显著的实际性能提升效果。