【发布时间】:2010-10-25 05:13:36
【问题描述】:
我正在尝试构建一个基于协作过滤的推荐系统,作为学术项目的一部分。我认为 Mahout 项目有很大的潜力,我想使用它。
我在我的 ubuntu 10.1 上安装了 Mahout、hadoop 和 Java。已检查 Hadoop 和 Java 可以一起正常工作。 (运行 Hadoop 字数统计示例作业)
我正在关注这个tutorial 来运行包含 100 万个数据集的“Taste 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 文件,有人有什么想法吗?
【问题讨论】:
标签: java hadoop mapreduce mahout