我想建立一个协同过滤推荐基于系统作为学术项目的一部分。我认为Mahout的项目有很大的潜力,我想使用它。

我装了,象夫,Hadoop和Java的在我的Ubuntu 10.1。 Hadoop和Java的已检查,一起工作的罚款。 (RAN Hadoop的字计数例如作业)

我下面这个教程来运行的口味Grouplens实施例“与百万数据集。 我输入以下

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"

然后我也跟着上教程的Hadoop集群部分的运行它 我的例子目录并MVN安装,它产生的例子/目标/目录下的jar文件, 然后我继续,我必须运行在Hadoop作业的下一部分 我输入以下内容:

    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 

我得到以下错误:

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

我也不太清楚要放什么地方 我也不太清楚,如果我正确地部署jar文件,任何人有什么想法?

有帮助吗?

解决方案

引用我的电子邮件回复你:GroupLens例子无关使用Hadoop。你不应该需要,在所有。它看起来像你想通过Maven来运行示例,但是从Hadoop的安装目录。 Hadoop是不是亨利马乌那么当然它不能找到亨利马乌类的方式。尝试从亨利马乌DIR运行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top