I was trying to run a matrix multiplication example presented by Mr. Norstadt under following link http://www.norstad.org/matrix-multiply/index.html. I can run it successfully with hadoop 0.20.2 but I tried to run it with hadoop 1.0.3 but I am getting following error. Is it the problem with my hadoop configuration or it is compatibility problem in the code which was written in hadoop 0.20 by author.Also please guide me that how can I fix this error in either case. Here is the error I am getting.
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)
Thanks in advance
Regards, waqas
I also encountered same problem, in my case it was giving exception because I haven't closed SequenceFile.Writer object. Problem got resolved when I added sequenceFileWriter.close() statement in my code.
Also if input in MapReduce program is output of some previous MapReduce program then you have to explicitly write code to ignore _SUCCESS file.
PS: I am using CHD4 Cloudera Hadoop configuration
I got it right. Infact it was not filtering _SUCCESS file automatically and due to reading this log file exception mentioned in the question was occuring. I filtered the files and now its working fine. Here is the link how I filtered the files Filter log files(_success and _log) in FileSystem.liststatus
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With