/ / Hadoop 2.2.0 ist mit Mahout 0.8 kompatibel? - Hadoop, Mahout

Hadoop 2.2.0 ist kompatibel mit Mahout 0.8? - Hadoop, Mahout

Ich habe Hadoop Cluster Version 2.2.0 mit Mahout 0.8 ausgeführt, ist das kompatibel? Denn wann immer ich diesen Befehl ausführen:

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

Gib mir diesen Fehler:

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)

Oder bin ich falsch Jede Info wäre hilfreich.

Antworten:

3 für die Antwort № 1

Nein, es funktioniert nicht mit Hadoop 2.x, jemand anderes hat dieselbe Fehlermeldung wie Sie.

Es scheint, dass Zumindest würde es eine Neukompilierung erfordern.

Und mehr Leute haben die gleichen Probleme: Wie kann ich Mahout für hadoop 2.0 kompilieren / verwenden?


3 für die Antwort № 2

Vor etwa einer Stunde hat Mahout Hadoop 2.x im Masterbereich offiziell unterstützt (siehe MAHOUT-1329)

Überprüfen Sie den Code hier https://github.com/apache/mahout und neu kompilieren mit:

mvn clean package -Dhadoop2.version=2.2.0

Versuchen Sie zu sehen, ob das funktioniert.


0 für die Antwort № 3

Den Quellcode erhalten Sie von github https://github.com/apache/mahout und führen Sie den folgenden Befehl aus

mvn -Dhadoop2.version=2.2.0 -DskipTests clean install

Dann finden Sie das Release-Paket in distribution/target/