You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mahout.apache.org by Jose Fuentes De Frutos <in...@udc.es> on 2011/06/06 12:59:44 UTC

Problems with genetic algorithms in Mahout

Hello!, 

I am working with genetics algorithms in Mahout. Specifically I am trying to use the "MahoutEvaluator" to evaluate my own FitnessEvaluator based on the DummyEvaluator. The problem is that if I execute the program sequentially without hadoop ($ java -jar geneticoJose2.jar) the program finish correctly, but if I try to execute it in a pseudo-distributed mode ($ /home/jose/Descargas/hadoop-0.20.203.0/bin/hadoop jar geneticoJose2.jar) an error occurs: 

Exception 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:1450) 
at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1428) 
at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1353) 
at org.apache.hadoop.io.SequenceFile$Sorter$SegmentDescriptor.nextRawKey(SequenceFile.java:3072) 
at org.apache.hadoop.io.SequenceFile$Sorter$MergeQueue.merge(SequenceFile.java:2887) 
at org.apache.hadoop.io.SequenceFile$Sorter.merge(SequenceFile.java:2616) 
at org.apache.hadoop.io.SequenceFile$Sorter.merge(SequenceFile.java:2587) 
at org.apache.hadoop.io.SequenceFile$Sorter.merge(SequenceFile.java:2701) 
at org.apache.mahout.ga.watchmaker.OutputUtils.importEvaluations(OutputUtils.java:77) 
at org.apache.mahout.ga.watchmaker.MahoutEvaluator.evaluate(MahoutEvaluator.java:79) 
at es.udc.tic.world.Poblacion.actualizarFitness(Poblacion.java:68) 
at Principal.main(Principal.java:55) 
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) 

Does anybody know why it happens? Could this be produced by incompatibilities between Mahout and Hadoop versions? 

Thank you in advance.