首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >org.apache.hadoop.io.SequenceFile$Reader.init(SequenceFile.java:1508)上的EOFException

org.apache.hadoop.io.SequenceFile$Reader.init(SequenceFile.java:1508)上的EOFException
EN

Stack Overflow用户
提问于 2012-05-25 18:23:50
回答 2查看 3.9K关注 0票数 3

我试着在下面的链接http://www.norstad.org/matrix-multiply/index.html下运行Norstadt先生展示的一个矩阵乘法示例。我可以使用hadoop 0.20.2成功运行它,但我尝试使用hadoop 1.0.3运行它,但得到以下错误。是我的hadoop配置的问题,还是author.Also在Hadoop0.20中编写的代码的兼容性问题,请指导我,在这两种情况下,我如何修复这个错误。这是我得到的错误。

代码语言:javascript
复制
in thread "main" java.io.EOFException
        at java.io.DataInputStream.readFully(DataInputStream.java:180)
        at java.io.DataInputStream.readFully(DataInputStream.java:152)
        at org.apache.hadoop.io.SequenceFile$Reader.init(SequenceFile.java:1508)
        at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1486)
        at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1475)
        at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1470)
        at TestMatrixMultiply.fillMatrix(TestMatrixMultiply.java:60)
        at TestMatrixMultiply.readMatrix(TestMatrixMultiply.java:87)
        at TestMatrixMultiply.checkAnswer(TestMatrixMultiply.java:112)
        at TestMatrixMultiply.runOneTest(TestMatrixMultiply.java:150)
        at TestMatrixMultiply.testRandom(TestMatrixMultiply.java:278)
        at TestMatrixMultiply.main(TestMatrixMultiply.java:308)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)

提前感谢

致敬,瓦卡斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-30 23:27:34

我猜对了。事实上,它没有自动过滤_SUCCESS文件,并且由于读取此日志文件而发生了问题中提到的异常。我过滤了文件,现在它工作得很好。下面是我如何过滤文件Filter log files(_success and _log) in FileSystem.liststatus的链接

票数 2
EN

Stack Overflow用户

发布于 2013-04-30 10:10:35

我也遇到了同样的问题,在我的例子中,它给出了异常,因为我还没有关闭SequenceFile.Writer对象。当我在代码中添加sequenceFileWriter.close()语句时,问题得到了解决。

此外,如果MapReduce程序中的输入是以前某个MapReduce程序的输出,那么您必须显式地编写代码来忽略_SUCCESS文件。

PS:我正在使用CHD4 Cloudera Hadoop配置

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10752708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档