在我們的hadoop設置中,當數據節點崩潰(或)hadoop在datanode上沒有響應時,reduce任務將失敗,無法從失敗的節點讀取(以下例外)。我認爲hadoop處理數據節點故障,這是創建hadoop的主要目的。有人遇到類似的問題嗎?如果您有解決方案,請告訴我。hadoop是否真的處理datanode失敗?
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)
「NameNode將DataNode標記爲沒有最近Heartbeats爲死,並且不會向它們轉發任何新的IO請求,任何註冊到死DataNode的數據都不再可用於HDFS。 [HDFS體系結構](http://hadoop.apache.org/common/docs/r0.20.2/hdfs_design.html) –
這些日誌來自哪裏? DataNode或NameNode? – wlk
它來自reduce任務,請看stacktrace。 –