论文部分内容阅读
随着互联网的高速发展,云计算集群系统越来越大,处理数据的规模越来越大,这样就需要一个高效的分布式处理系统进行数据挖掘、计算等任务。MapReduce是Hadoop下的计算框架,也是云计算Hadoop的核心模块。MapReduce的容错性关乎Hadoop集群的性能。MapReduce有很好的容错机制和表现不错的容错性能,但是随着使用对象和场景的不一样,在专有任务的情况下反而会降低系统性能。因此本文利用原有的MapReduce下的容错机制进行改善和优化,使它更加适用于各种任务的系统中,并在节点失效时系统的容错能力更强。本文主要从节点的失效到数据处理过程对MapReduce下容错性能进行改善和优化,主要研究成果如下:在任务运行前,通过预取数据执行估算出任务的执行时间,根据任务执行时间设定超时检测时间(TASKTRACKER_EXPIRY_INT-ERVAL),当节点在超时检测时间未收到节点发送回来的心跳程序时判断该节点失效;在任务运行过程中,系统会对每个节点设定一个信誉值,根据节点的数据获取错误对节点的信誉值进行衰减和通过心跳汇报对的信誉值进行恢复,当节点的信誉值低于最低阈值就判断该节点失效。在运行过程中,产生的中间值存储在本地,当节点失效就会丢失,本文采用异步复制,不同机器存储的方式存储,使得中间值在节点失效时同样能取得。通过在任务运行前对失效时间进行设定,在运行中对节点失效进行评估和对中间值进行备份存储的方法增强了系统的容错能力。