论文部分内容阅读
Hadoop是一种分布式数据和计算的框架,在海量数据处理中应用非常广泛。MapReduce是一种程序设计模型,Hadoop正是以MapReduce作为核心程序设计模型的。MapReduce程序已经在各行各业的海量数据分析中得到证明,该程序可以帮助实现对海量数据的分析和调用。但其中的细部参数配置以及对部分源码的优化,当前大多是依靠有经验的程序员在进行维护和调整,缺乏有效的统一的科学方法。若部分程序消耗系统资源过大,或是浪费了较多的运行时间,将会拖累系统整体的效能,得出较为不好的结果。 本文以Hadoop自带的调度算法为基础,提出一种基于Hadoop平台的最大满意度调度算法,能有效解决MapReduce中存在的计算实时问题。该算法改进了Hadoop自带的算法,为每一提交的作业配置一项满意度分数,并求取在相同软硬件的Hadoop系统环境产生完成作业的最大满意度分数。算法根据用户在用户端输入的满意度分数,对比每个计算器的计算能力得出满意度分数和计算能力比值,对于进入Reduce的任务(Job)也设计了相应的算法,通过与Hadoop自带的调度算法三种算法进行实验对比,所提出的最大满意度调度算法可以得出用户希望的计算输出结果并在一定程度上减少调度时间,提升了系统吞吐量。 实验后发现本算法可以有效提升计算效能和吞吐量,并在一定程度上解决计算实时问题,对于该领域研究发展有一定的促进作用。