MapReduce的容错机制

MapReduce是如何错的

由于mapreduce要处理海量的数据,需要驱动成千上百的节点,如果节点出了问题,要如何处理呢?

worker节点出现故障

对应到hadoop mapreduce,就是在datanode上运行的worker出现了故障。解决的方法是master节点定期ping slave节点,如果收不到这个节点返回的信息,那么这个slave节点就会被标记失效,这个节点的任务就由其他的空闲节点完成。
当 worker 故障时,由于已经完成的 Map 任务的输出存储在这台机器上,Map 任务的输出已不可访问了,因此必须重新执行。而已经完成的 Reduce 任务的输出存储在全局文件系统上,因此不需要再次执行。
同时,由于Reducer需要得知Mapper保存的数据的地址,当一个Mapper失效之后,这个Mapper的任务交给其他节点运行的时候,所有的节点都会被通知,防止有节点从这个节点获取信息。

master节点出现故障

master需要定期将master维护的数据定期保存在其他的节点。也就是chekpoint,如果这个节点出现了故障,就会从这个checkpoint来恢复。开始启动新的master进程。
最好还是在master节点发生故障的时候,就终止mapreduce计算,因为master进程一般只启动一个。

(mapreduce论文)http://blog.bizcloudsoft.com/wp-content/uploads/Google-MapReduce中文版_1.0.pdf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值