exception-handling - 如何处理在 map/reduce 期间死亡的数据节点

标签 exception-handling hadoop mapreduce

当 map/reduce 使用的数据节点出现故障时会发生什么?不应该将作业重定向到另一个数据节点吗?我的代码应该如何处理这种异常情况?

最佳答案

如果 datanode 宕机,运行在该节点上的任务(假设您也将其用作 tasktracker)将失败,这些失败的任务将被分配给其他 tasktracker 以重新执行。在死数据节点中丢失的数据 block 将在其他数据节点中可用,因为将跨集群复制数据。因此,即使数据节点出现故障,除了重新执行失败任务的非常短暂的延迟外,不会有任何损失。所有这些都将由框架来处理。您的代码无需担心这一点。

关于exception-handling - 如何处理在 map/reduce 期间死亡的数据节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4820697/

相关文章:

Scala 方式来处理 for-comprehensions 中的条件?

hadoop - Hive始终创建mapreduce作业

java - 烫 'multiple map()'优化

hadoop - 针对不同映射器的 HBase MapReduce 拆分扫描

hadoop - Fiware-Cosmos MapReduce

java - JAX-RS 和 EJB 异常处理

java - 为什么我的程序会出现 "must be caught or declared to be thrown"?

c# - 何时检查空值

python - 从 HDFS 中解压文件

java - Java Hadoop Mapper 如何发送多个值