论文部分内容阅读
随着互联网规模的不断增加,用户大量的数据需要进行处理和存储,传统的服务器集群无法满足用户大数据的需求。现在云计算已经成为一个最典型的解决方案,它为用户提供了海量数据处理、海量数据存储、按需获取计算能力等服务。云计算概念一经提出就受到了学术界和工业界的广泛关注,许多公司都推出了自己的云计算平台。其中,大多数云计算平台是使用Hadoop开发的,Hadoop是一个运行在大型集群上进行大数据存储和并行计算的分布式开源框架,它将底层的并行化对开发者透明,应用程序的开发者只需要按照接口要求实现代码就能实现分布式处理。但是,Hadoop是一个比较新的平台,许多地放还不够成熟,需要改进的地方也很多。Hadoop平台的性能与其作业调度算法密切相关,选择合适的调度算法对Hadoop平台的资源利率和系统吞吐量有很大的影响。但是,Hadoop中现有的调度算法有许多不足之处,因此,研究Hadoop平台作业调度算法,并进行优化和改进,对Hadoop平台性能的提升具有重大意义。本文主要完成了以下工作:1、对云计算技术进行了介绍,重点分析了Hadoop平台的技术背景和组成架构,详细分析了HDFS文件系统的读写流程和MapReduce编程框架。2、对Hadoop平台下的作业调度流程进行了深入的剖析,重点介绍了现有的几种作业调度算法:FIFO调度算法、计算能力调度算法、公平份额调度算法和LATE调度算法,分析了他们的算法思想和主要优缺点。3、针对现有调度算法不适应异构环境的问题,提出了一种改进的调度算法,该算法根据系统信息,将作业进行分类,并做出调度策略。通过优化算法将作业与节点进行匹配,提高系统的整体性能。4、针对现有调度算法未考虑作业和节点的负载类型的问题,提出了一种基于资源感知的调度算法,该算法将作业和节点类型进行划分,并按照节点的负载情况选择合适的任务进行调度。5、为了验证算法的性能,搭建了Hadoop实验集群,并收集了大量测试数据对算法的性能进行验证。实验结果表明,我们提出的两种调度算法能够很好的提升Hadoop平台的性能。