论文部分内容阅读
随着互联网行业的蓬勃发展,人们对大数据技术的应用更加深入和广泛。作为主流的海量数据并行计算平台,Hadoop在性能方面正面临越发严格的考验。Hadoop平台的调度器控制着作业的调度和资源的分配,其作业调度算法的优劣直接影响集群的性能的好坏。因此,研究并改进Hadoop平台的作业调度算法具有重要意义。本文对Hadoop平台的作业调度算法进行了以下两个方面的研究:1、针对现有的基于截止时间的作业调度算法在YARN集群无法工作的问题,本文提出了一种面向YARN架构的作业调度算法。算法根据作业的截止时间和运行情况推测作业并发任务数量的临界值。利用该临界值将集群资源分为基本资源和额外资源两部分,通过对两部分资源采取不同的调度方式,在最大限度保证作业时间限制的前提下,实现资源使用效率最大化。经实验证明,此算法可以有效地提升在截止时间之前完成的作业数量。2、针对Shuffle阶段产生的网络开销导致集群性能下降的问题,提出了一种Reduce任务调度算法。该算法根据数据本地性和传输数据量对Shuffle阶段网络开销的影响,计算一种用于衡量由Reduce任务产生的网络开销多少的指标。算法根据这个指标选择执行Reduce任务的节点。当首选节点过载时,算法将根据节点的负载情况选择备用节点。实验表明,该算法能够有效地减少作业在Shuffle阶段产生的网络开销。对于Reduce阶段时间比重较大作业,该算法可以有效地缩短响应时间。