论文部分内容阅读
自2007年以来,云计算是目前国内外商业和科研机构研究的热点之一,它是一种通过互联网将数据中心的各种资源打包成服务向外提供的商业模式。一些IT商业巨头把云计算作为其未来发展的最主要战略之一,云计算的研究不但紧跟业界技术发展的趋势,同时还具有较高的应用价值。当前,大多数的云计算系统采用Hadoop平台来进行开发和调度程序,Hadoop是Apache开源组织的一个分布式计算机框架,它是一个主要由HDFS(Hadoop Distributed File System)和MapReduce组成的集群构架。本文以Hadoop为研究对象,分别从HDFS小文件问题和任务调度的角度,研究基于Hadoop平台的性能优化问题。 针对HDFS小文件问题,借鉴分布式文件系统领域现有的相关概念与技术,对如何解决HDFS处理海量小文件的问题进行了研究,提出了解决办法。一方面是文件整合,本文将属于同一目录下的小文件合并成一个大文件,以提高小文件存储效率。针对整合过程中出现的跨块文件,提出了解决方案。另一方面是Cache管理,本文提出了一种缓存策略,以提高小文件读取效率。根据调研Cache的置换策略及一致性策略,结合需求和特点,提出了相应的策略。本文提出的这两个方面分别对小文件的写操作和读操作进行了优化。 针对Hadoop中MapReduce任务调度问题,研究了Hadoop平台任务调度算法。为满足任务的合理分配及负载均衡,将加权轮询调度算法的思想引入到Hadoop的任务调度中,提出了一种适合于Hadoop平台的改进的加权轮询调度算法。该算法是基于在某个时间,如果权值小的作业中输入的任务数相对较多,而权值大的作业中输入的任务数相对较少的情况下提出的。通过考虑权值更新的各种情况,提出了一种权值更新规则,目的就是为了更好的实现负载均衡。 在以上研究的基础上,本文利用实验室硬件资源搭建了一个Hadoop平台,分别进行了小文件问题实验和任务调度算法实验,结果表明了本文提出的方法优化了小文件的读写操作性能,以及达到了任务的合理分配及负载均衡。