开发者社区> 问答> 正文

MapReduce如何处理容错?

MapReduce如何处理容错?

展开
收起
kun坤 2020-04-23 16:41:29 437 0
1 条回答
写回答
取消 提交回答
    • 如果某个worker在执行MR任务时崩溃了。(面向应用开发程序员我们应该隐藏这个细节)
    • MR是否需要必须从开头执行整个任务?为什么不需要?

      MR只需要运行失败的map和reduce任务。假设map任务执行了两次,一个reduce任务执行看到了第一次执行map任务的结果,另外一个reduce任务看到的是第二个。那么这种情况需要重新执行整个过程。除此之外,可以把map和reduce设计成为一个纯确定性函数。参数决定结果

    • 没有状态,没有文件I/O,没有交叉、没有额外的通讯。假设此时你需要容忍非纯确定的函数怎么办?

    • 当某个worker失败时,解决方式要不是通过全部重新执行。或者是回到某个系统的快照(你可能需要增加这部分的逻辑)。

    2020-04-23 16:41:57
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
HBase 吞吐量提升实践 立即下载
分布式流处理框架——功能对比和性能评估 立即下载
分布式流处理框架 立即下载