论文部分内容阅读
Hadoop是云计算的分布式开源实现平台,在海量数据处理方面有着高容量、低成本、高容错等特点,是运行在大型集群上的并行处理系统。Hadoop平台的核心技术作业调度算法是对用户作业进行资源的分配和调度执行的程序。作业调度算法选择是否合适直接关系到用户业执行的效率。用户在很多时候都会使用Hadoop自带的调度算法,但原有作业调度算法在批处理的在线查询和分析应用中存在小作业调度不合理的现象,因此对Hadoop平台作业调度算法的研究和优化十分必要。本文研究的主要内容如下:(1)分析Hadoop作业调度算法在国内外的研究现状,分析Hadoop中MapReduce作、业调度的原理,作业调度的理论基础以及Hadoop自带算法的调度流程和优缺点。(2)研究引入排队论的MMS算法的原理和优缺点,针对现有Hadoop作业调度算法在处理小作业方面的欠缺提出一种基于小作业优先的M/G/1作业调度算法。算法引入排队论的M/G/1模型,当作业提交到排队队列,首先根据作业长短进行优先级排序。根据M/G/1作业调度算法模型计算出系统作业平均等待时间,当某时间段出现一定量的小作业时,将小作业重新排到队列前段优先计算。(3)在搭建Hadoop集群进行实验,验证了基于小作业优先的作业调度算法可完成作业的调度执行,并且减少了作业的整体的等待时间。实验数据经过多次执行取均值的方法得到。通过与先进先出算法和公平调度作业调度算法的对比实验可以得到,基于小作业优先的作业调度算法可以更快的适应小作业靠后的情况,及时调整顺序,缩短了整个作业的完成时间,提高了系统的利用率和负载能力。