论文部分内容阅读
随着信息和数据爆炸式增长的大数据时代的到来,由分布式计算和网格计算发展起来的云计算,无疑是当今IT领域研究的热点。Hadoop是一个重量级的分布式处理开源框架,它在对大数据存储和处理方面有着明显的优势。这使得它成为越来越多的企业和学者研究的云计算平台。然而海量的数据使得Hadoop集群越来越大,作业类型也越来越繁多,如何使得Hadoop集群处理作业的性能提高,同时又能提高计算资源的利用率,让集群资源得到充分的负载均衡。这已经是当前最受关注的资源调度问题之一。 本论文主要使用当前最主流的开源IaaS云平台OpenStack来虚拟化Hadoop集群,来研究虚拟Hadoop平台动态资源调度策略,进行了如下研究工作: (1)分析传统企业直接将Hadoop集群部署在物理机上存在的一些资源浪费的问题,和Hadoop集群虚拟化后对资源优化的好处。提出一种将Hadoop节点中的计算节点和存储节点分离,并将其搭建在OpenStack云平台上,使Hadoop集群虚拟化的部署模式。 (2)分析Hadoop的各种应用对计算资源的要求不同,将Hadoop集群处理的作业分为CPU、内存、存储、IO密集型作业。分析Hadoop集群常用的三种作业调度算法,提出从作业类型出发来研究Hadoop集群的虚拟机资源调度算法。 (3)详细研究了OpenStack开源云平台的组织架构,并对OpenStack资源调度机制做出了详细分析研究。分析原有的OpenStack云平台算资源的调度算法,即只根据内存权重来调度虚拟机资源,综合考虑包含CPU、内存、存储、网络带宽等权重参数在内的多种因素,提出一种新的虚拟机资源调度思想。 (4)提出基于改进的蚁群算法和遗传算法的虚拟机调度算法。通过对Hadoop与OpenStack平台的融合,改进OpenStack虚拟机调度算法,从而改善Hadoop集群虚拟机节点的资源调度问题。仿真实验证明,相比于原OpenStack调度算法,改进的蚁群调度算法在任务分配时间、任务执行时间、虚拟机负载率等方面具有明显优势;改进的遗传调度算法迭代次数更加少、负载均衡率更低。从而表明本文提出的这两种算法使Hadoop集群负载更均衡,性能和资源利用率更高。