Aiuto con l'esecuzione Gusto GroupLens demo su Hadoop
Domanda
Sto cercando di costruire una collaborazione filtraggio raccomandazione basata sistema come parte di un progetto accademico. Penso progetto Mahout ha un sacco di potenziale e voglio usarlo.
ho installato, Mahout, Hadoop e Java sul mio ubuntu 10.1. Hadoop e Java sono stati controllati per funzionare bene insieme. (Ran l'esempio conteggio delle parole lavoro Hadoop)
Sto seguendo questo esercitazione per eseguire il 'Gusto GroupLens Esempio' con 1 milione di set di dati. Ho digitato il seguente
chirayu@chirayu-laptop:~/hadoop-0.20.2$ mvn -e exec:java
-Dexec.mainClass="org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommenderEvaluato
rRunner" -Dexec.args="-i /home/chirayu/mahout_source/trunk/examples/data/ratings.dat"
poi ho seguito l'eseguirlo da parte di cluster Hadoop del tutorial ho fatto mvn installare nella directory di esempi, ha generato i file jar di esempi / target / directory, poi ho provveduto alla parte successiva dove devo eseguire il lavoro su Hadoop ho digitato il seguente:
chirayu@chirayu-laptop:~/hadoop-0.20.2$ sudo bin/hadoop jar /home/chirayu/mahout_source
/trunk/examples/target/mahout-examples-0.5-SNAPSHOT.jar
org.apache.mahout.cf.taste.example.grouplens.GroupLensRecommenderEvaluatorRunner
ottengo il seguente errore:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/mahout/cf/taste/eval/RecommenderEvaluator
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
Caused by: java.lang.ClassNotFoundException: org.apache.mahout.cf.taste.eval.RecommenderEvaluator
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 3 more
Non sono troppo sicuro di cosa mettere al posto del Non sono troppo sicuro se sto Distribuzione del file jar in modo corretto, qualcuno ha qualche idea?
Soluzione
Citando la mia risposta e-mail a voi: l'esempio GroupLens non ha nulla a che fare con Hadoop. Non dovrebbe essere necessario che a tutti. Sembra che si sta cercando di eseguire l'esempio attraverso Maven, ma dalla Hadoop directory di installazione. Hadoop non è Mahout così naturalmente non riesce a trovare le classi Mahout in quel modo. Provare a eseguire dal dir Mahout.