Search code examples
macoshadoopmahout

Exception in thread "main" java.lang.IncompatibleClassChangeError in mahout 0.9 & hadoop 2.6


Iam trying to run random forest example. The command that I run is

hadoop jar mahout-examples-0.9-job.jar org.apache.mahout.classifier.df.mapreduce.BuildForest -Dmapred.max.split.size=1874231 -d testdata/KDDTrain+.arff -ds testdata/KDDTrain.info -sl 5 -p -t 100 -o nsl-forest

I got this error:

Exception in thread "main" java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.JobContext, but class was expected
at org.apache.mahout.classifier.df.mapreduce.partial.PartialBuilder.processOutput(PartialBuilder.java:113)
at org.apache.mahout.classifier.df.mapreduce.partial.PartialBuilder.parseOutput(PartialBuilder.java:89)
at org.apache.mahout.classifier.df.mapreduce.Builder.build(Builder.java:294)
at org.apache.mahout.classifier.df.mapreduce.BuildForest.buildForest(BuildForest.java:228)
at org.apache.mahout.classifier.df.mapreduce.BuildForest.run(BuildForest.java:188)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.mahout.classifier.df.mapreduce.BuildForest.main(BuildForest.java:252)
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.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

I use Mahout 0.9 and Hadoop 2.6.0

What I need to do to solve this problem?


Solution

  • error is typical using some jars that are compiled on Hadoop-1 and are being used with Hadoop-2

    I am pointing some urls please go through them.

    Mahout 0.9 and Hadoop 2.2.0 - Found interface org.apache.hadoop.mapreduce.JobContext, but class was expected

    Hadoop 2.2.0 is compatible with Mahout 0.8?

    http://comments.gmane.org/gmane.comp.apache.mahout.user/20328