论文部分内容阅读
随着科技的不断发展以及全球数据量的激增,云存储与云计算是未来的发展趋势,传统数据库对数据的处理已经越来越不能满足个人与企业用户的要求,对于海量数据,业界大数据存储及分布式处理系统最有代表性的就是Hadoop。Hadoop在最近几年迅猛发展,它是一个具有可靠性、高效性、可伸缩性的能够对大量数据进行分布式处理的开源软件框架。由于设计Hadoop之初是假设集群所有机器都是同构的,而现实中,Hadoop集群是有许多廉价机器组成,这就导致了集群中的节点计算能力的差异以及节点容易失效的问题,虽然Hadoop为了防止计算任务和数据存储可能会失败而维护了多个数据副本,以提高集群的容错能力与可靠性。但是在预测节点失效与数据副本放置以及任务调度上仍然需要完善和改进。为了提高Hadoop集群的鲁棒性,本文在不同性能的节点执行任务效率的差异下对其鲁棒性进行了优化,研究的主要内容如下:(1)针对Hadoop在任务节点的选取与数据副本放置时未考虑节点未来可能会失效的问题,提出了Hadoop节点故障预测模型,对集群中的节点进行了故障率预测。(2)通过节点故障预测模型,对于Hadoop任务调度进行了优化以及提出了关于数据副本放置的节点选择策略算法。解决了默认算法未考虑节点异构性而造成的计算能力差异的问题,提高了集群的鲁棒性。(3)对于集群中执行任务次数较少以及通过节点故障预测模型判断出高故障率的节点,建立了休眠机制,解决了该类节点的处置问题。(4)通过搭建Hadoop集群验证了故障预测模型在集群计算效率约束下的有效性,本文所提出的方法提高了Hadoop集群的鲁棒性。