论文部分内容阅读
随着云计算在企业中的广泛使用,拥有HDFS分布式文件系统和分布式计算模型MapReduce的Hadoop成为了众多IT企业的首选。在大型企业中,Hadoop分布式集群通常由成百上千个节点组成,如此庞大规模的集群在长时间的运行过程中会产生大量的能耗,增加了企业的成本。因此,在大规模集群中减少能耗,不仅从经济角度可以减少企业开支,同时也更加节能环保。传统的Hadoop集群在运行过程中并没有考虑节能问题,当Hadoop启动一段时间闲置时,所有节点长期处于工作状态,可能产生大量能耗。同时,Hadoop默认的调度算法效率较低,通常需要较长时间完成任务,较低的效率产生了较多的额外能耗。在以往的集群节能研究中,主要是通过在集群上增加额外硬件的方法减少能耗,适用性较差。已有的集群调度算法优化目标也多是负载均衡,没有考虑能耗问题,而且由于Hadoop架构的特殊性,大部分的调度算法无法在Hadoop上直接使用。本论文正是针对上述问题,以Hadoop集群的相关节能调度技术为主要的研究对象,深入分析了Hadoop集群特点和调度器的不足之处,对如何减少Hadoop集群能耗提出来解决方案。主要研究内容包括:首先,分析了Hadoop平台的结构和框架特征、Hadoop核心组件、编程模型;其次,针对Hadoop平台的整体架构,通过对集群进行能耗建模,提出了一种动态Hadoop节点节能管理方法,该方法在集群负载较低时,可以有效的动态休眠部分节点,减少集群整体能耗;接着,针对一批Hadoop任务,通过对最小化总完工时间的建模,提出了动态调整Hadoop资源的分配的HScheduler算法,减少多个任务的总完工时间以减少能耗;然后,针对Hadoop运行流程中常常会出现的数据倾斜问题,提出了Reduce端负载均衡(RLB)算法,通过减少任务的运行时间降低Hadoop集群的能耗;最后,搭建Hadoop实际数据测试环境,经过大量真实数据测试,验证了所提出的算法在Hadoop集群节能效果。