论文部分内容阅读
云计算技术已经广泛应用于各行各业,随着云计算技术的迅速发展,处理数据的规模不断扩大,数据类型呈现多样化。因此如何处理这些大数据成为急需解决的问题,其中MapReduce任务计算框架是当今最具代表性的分布式计算框架。随着分布式系统的规模不断扩大,系统中各部分组件相互之间的依赖关系也不断复杂化,使得系统发生故障的概率也不断增加。因此,分布式系统中节点容错技术成为了重要的研究内容,而节点故障检测机制又是节点容错技术的重要部分。在节点故障检测机制方面作业、节点状态、网络环境等因素都对检测的性能有重要影响,因此在考虑以上几种因素的基础上本文提出了两种机制:基于多因素的自适应心跳机制和基于作业因素的信誉值检测机制。用来对心跳频率做及时调整以适应不同的系统环境以及对系统中节点的状态做出一个实时的评价。在心跳机制方面,本文提出了一种多因素心跳检测综合指标评价模型。在该模型下同时考虑网络负载情况和节点CPU工作状态及节点作业的大小对心跳检测过程的影响。在此基础上,提出了基于多因素评价模型的自适应心跳检测算法,该算法可以随网络环境、节点CPU占用率、作业任务大小自适应地改变心跳频率,综合各因素给出心跳频率设定的最优方案。并通过实验验证了多因素对心跳频率自适应调整的影响。在心跳机制的基础上提出了基于作业的信誉值检测机制,该机制赋予系统中节点一个信誉值并根据心跳信息和作业类型对某一个节点的信誉值进行衰减或者恢复。当一个节点信誉值低于最小阈值时就认为该节点发生故障,当一个节点的信誉值增加到最大阈值时就不再增加该节点的信誉值。大量实验数据证明在系统中加入基于作业的信誉值检测机制比原系统能更快地发现故障节点并及时进行任务重新分配。从整体上缩短了作业的执行时间。最后通过实际应用和实验验证了在经过以上方法优化的Hadoop系统中,能够比原系统更有效地检测到故障节点并更快地进行任务的重新分配。