3

在我们的 hadoop 设置中,当一个数据节点崩溃(或)hadoop 在数据节点上没有响应时,reduce 任务失败,无法从失败的节点读取(下面的异常)。我认为 hadoop 处理数据节点故障,这是创建 hadoop 的主要目的。有人在他们的集群上面临类似的问题吗?如果您有解决方案,请告诉我。

java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(Unknown Source)
    at java.io.BufferedInputStream.fill(Unknown Source)
    at java.io.BufferedInputStream.read1(Unknown Source)
    at java.io.BufferedInputStream.read(Unknown Source)
    at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
    at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at org.apache.hadoop.mapred.ReduceTask$ReduceCopier$MapOutputCopier.getInputStream(ReduceTask.java:1547)
    at org.apache.hadoop.mapred.ReduceTask$ReduceCopier$MapOutputCopier.setupSecureConnection(ReduceTask.java:1483)
    at org.apache.hadoop.mapred.ReduceTask$ReduceCopier$MapOutputCopier.getMapOutput(ReduceTask.java:1391)
    at org.apache.hadoop.mapred.ReduceTask$ReduceCopier$MapOutputCopier.copyOutput(ReduceTask.java:1302)
    at org.apache.hadoop.mapred.ReduceTask$ReduceCopier$MapOutputCopier.run(ReduceTask.java:1234)
4

2 回答 2

2

当 mapreduce 作业的任务失败时,Hadoop 将在另一个节点上重试您可以查看 jobtracker (:50030/jobtracker.jsp) 并查看列入黑名单的节点(保持活动状态存在问题的节点)或钻取正在运行/已完成的作业,并查看已终止任务/重试的数量以及死节点、退役节点等。

于 2011-11-28T21:27:20.480 回答
1

我在集群上遇到过类似的问题,由于“内存不足”问题,在某些节​​点上执行任务失败。他们肯定在其他节点上重新启动。计算最终失败,因为设计不好,导致所有节点内存不足,最终达到取消作业的阈值。

于 2011-12-03T19:16:34.570 回答