线程中的异常 "main" java.lang.IncompatibleClassChangeError in mahout 0.9 & hadoop 2.6



我正在尝试运行随机森林示例。我运行的命令是

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

我收到此错误:

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)

我使用 Mahout 0.9 和 Hadoop 2.6.0

我需要做什么来解决这个问题?

错误是典型的,使用一些在Hadoop-1上编译并与Hadoop-2一起使用的jar

我指出一些网址,请通过它们。

Mahout 0.9 和 Hadoop 2.2.0 - 找到接口 org.apache.hadoop.mapreduce.JobContext,但需要类

Hadoop 2.2.0 是否与 Mahout 0.8 兼容?

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

最新更新