hadoop 作业中的 org.apache.hadoop.fs.BlockMissingException

Posted

技术标签:

【中文标题】hadoop 作业中的 org.apache.hadoop.fs.BlockMissingException【英文标题】:org.apache.hadoop.fs.BlockMissingException in hadoop job 【发布时间】:2015-09-06 13:10:26 【问题描述】:

我在 Hadoop 作业中遇到以下异常。我无法弄清楚这个异常的原因。你能帮我解决这个错误吗?为什么会出现此错误?

异常堆栈跟踪:

org.apache.hadoop.fs.BlockMissingException: Could not obtain block: blk_6488469967470272993_1110 file=/media/ephemeral0/hadoop-root/5614861051_themeToProductsPipe_F832FB7243E64F41892F20744AF6A0B7/part-00054
    at org.apache.hadoop.hdfs.DFSClient$DFSInputStream.chooseDataNode(DFSClient.java:3158)
    at org.apache.hadoop.hdfs.DFSClient$DFSInputStream.blockSeekTo(DFSClient.java:2940)
    at org.apache.hadoop.hdfs.DFSClient$DFSInputStream.read(DFSClient.java:3107)
    at java.io.DataInputStream.readFully(DataInputStream.java:195)
    at java.io.DataInputStream.readFully(DataInputStream.java:169)
    at org.apache.hadoop.io.SequenceFile$Reader.init(SequenceFile.java:1576)
    at org.apache.hadoop.io.SequenceFile$Reader.(SequenceFile.java:1554)
    at org.apache.hadoop.io.SequenceFile$Reader.(SequenceFile.java:1543)
    at org.apache.hadoop.io.SequenceFile$Reader.(SequenceFile.java:1538)
    at org.apache.hadoop.mapred.SequenceFileRecordReader.(SequenceFileRecordReader.java:47)
    at org.apache.hadoop.mapred.SequenceFileInputFormat.getRecordReader(SequenceFileInputFormat.java:64)
    at cascading.tap.hadoop.io.MultiInputFormat$1.operate(MultiInputFormat.java:253)
    at cascading.tap.hadoop.io.MultiInputFormat$1.operate(MultiInputFormat.java:248)
    at cascading.util.Util.retry(Util.java:762)
    at cascading.tap.hadoop.io.MultiInputFormat.getRecordReader(MultiInputFormat.java:247)
    at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:346)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:312)
    at org.apache.hadoop.mapred.Child$3.run(Child.java:205)

【问题讨论】:

【参考方案1】:

该错误意味着客户端无法按时命中包含该块的数据节点。这可能是由于网络问题或数据节点太忙而无法响应或已关闭。

异常不足以追踪根本原因。

【讨论】:

以上是关于hadoop 作业中的 org.apache.hadoop.fs.BlockMissingException的主要内容,如果未能解决你的问题,请参考以下文章

读《Hadoop权威指南》点滴-HDFS文件系统

Hadoop问题:The auxService:mapreduce_shuffle does not exist

hadoop 作业中的 org.apache.hadoop.fs.BlockMissingException

在 hadoop 中运行作业 - 错误

Hadoop JobHistory 仅显示失败的作业

当我在 Eclipse 中运行 hadoop 作业时出现异常