Is Hadoop 2.2.0 compatible with Mahout 0.8?

I have a cluster version 2.2.0 working with mahout 0.8, is it compatible? Because whenever I run this command:

bin/mahout recommenditembased --input mydata.dat --usersFile user.dat --numRecommendations 2 --output output/ --similarityClassname SIMILARITY_PEARSON_CORRELATION 

Give me this error:

 Exception in thread "main" java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.JobContext, but class was expected at org.apache.mahout.common.HadoopUtil.getCustomJobName(HadoopUtil.java:174) at org.apache.mahout.common.AbstractJob.prepareJob(AbstractJob.java:614) at org.apache.mahout.cf.taste.hadoop.preparation.PreparePreferenceMatrixJob.run(PreparePreferenceMatrixJob.java:75) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.mahout.cf.taste.hadoop.item.RecommenderJob.run(RecommenderJob.java:158) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.mahout.cf.taste.hadoop.item.RecommenderJob.main(RecommenderJob.java:312) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:622) at org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:72) at org.apache.hadoop.util.ProgramDriver.run(ProgramDriver.java:144) at org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:152) at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:194) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:622) at org.apache.hadoop.util.RunJar.main(RunJar.java:212) 

Or wrong? Any information would be helpful.

+6
source share
3 answers

No, it does not work with Hadoop 2.x, someone else received the same error message as you .

It seems that at least it needs to be recompiled .

And more and more people are facing the same problems: how to compile / use mahout for hadoop 2.0?

+3
source

About an hour ago, Mahout officially added Hadoop 2.x support to the master branch (see MAHOUT-1329 )

Checkout the code here https://github.com/apache/mahout and recompile with:

 mvn clean package -Dhadoop2.version=2.2.0 

Try it and see if it works.

+3
source

You can get the source code from github https://github.com/apache/mahout and run the following command

 mvn -Dhadoop2.version=2.2.0 -DskipTests clean install 

Then you can find the release package in distribution/target/

0
source

All Articles