在MapReduce的一篇研究论文中,有一句话:
我们使用具有用户指定的map和reduce操作的函数模型,使我们可以轻松地并行化大型计算,并将重新执行作为容错的主要机制。
我不明白重新执行实际意味着什么以及重新执行如何成为容错的主要机制?
答案 0 :(得分:1)
我想给出一般答案。
故障或失败的原因:
节点故障/无法访问 换句话说,这意味着在该节点中运行的所有任务都失败/无法访问。
任务失败/无法访问 由节点内的所有任务处理的数据将在本地保存,当节点出现故障或无法访问(到其他节点或主节点)时,则无法检索到目前为止处理的数据。如此明显的解决方案是在同一节点或其他一些节点上重启这些任务(节点故障)。这使得重新执行成为容错的主要机制。
重新执行容错的另一个类比是数据丢失的冗余。复制数据以避免存储设备丢失数据。同样,重新执行任务以使应用程序容错。