近来,云计算技术在工业界和学术界共同推动下取得了巨大的发展,大量的云计算系统投入使用。其中,大多数的云计算系统采用Hadoop平台来开发和调度程序。Hadoop平台是一个在集群上运行大型数据库处理应用程序的开放式源代码框架,其最大的优点就是实现了并行化对应用开发者的透明处理,应用开发者可以像开发普通程序一样来开发云计算的应用系统,至于并行化则由Hadoop底层自动完成。但是,Hadoop还是一个比较年轻的平台,发展时间较短,研究还不够深入,在很多地方还有改进的必要和可能。
作业调度技术作为Hadoop平台的核心技术之一,其主要功能是对作业执行的顺序以及计算资源的分配进行控制,这直接关系到Hadoop平台的整体性能和系统资源的利用情况。但是目前这一技术尚处于基础阶段,现有的作业调度算法均存在着一些不足之处,因此,通过对现有作业调度算法的研究,改进其不足之处,对提高Hadoop平台的整体性能和系统资源的利用具有重要的意义。
本文主要研究工作和贡献如下:
通过广泛的文献调研,本文首先对Hadoop平台的产生的相关背景、平台架构和核心部分进行了研究;然后对Hadoop平台下的作业调度技术进行了深入的研究,在详细分析三种现有的作业调度算法-FIFO算法、公平调度算法(Fair Scheduler)和计算能力调度算法(Capacity scheduler)的产生背景、算法思想、设计思路和具体实现以及不足之处的基础上,提出了我们的基于朴素贝叶斯分类的作业调度算法,并对该算法如何解决现有算法的不足、要达到的目标、算法流程、主要组成、设计和实现等进行了详细的介绍;最后对我们的算法进行编程实现和实验验证,实验结果表明我们的算法成功地实现了预期的目标,解决了现有算法的不足,并且在性能测试中表现出色。