0

我正在尝试在http://chimpler.wordpress.com/2013/06/24/using-the-mahout-naive-bayes-classifier-to-automatically-classify-twitter-messages-part-2-运行示例Distribute-classification-with-hadoop/comment-page-1/#comment-693 但面临问题,因为看起来我的 hadoop 无法识别外部库,尤其是运行示例所需要的 mahout。

这是我看到的无法修复的错误消息:

13/09/07 20:59:07 INFO mapred.JobClient: Task Id : attempt_201309071836_0006_m_000000_0, Status : FAILED
Error: java.lang.ClassNotFoundException: org.apache.mahout.math.Vector
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at MapReduceClassifier$ClassifierMap.initClassifier(MapReduceClassifier.java:39)
    at MapReduceClassifier$ClassifierMap.setup(MapReduceClassifier.java:31)
    at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:142)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:621)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:305)
    at org.apache.hadoop.mapred.Child.main(Child.java:170)

到目前为止,这是我尝试过的几件事,但没有帮助-

  1. 将我的“mahout-distribution-0.7”文件夹中的所有 .jar 添加到 HADOOP_CLASSPATH wrt http://mail-archives.apache.org/mod_mbox/mahout-user/201103.mbox/%3C2658E54B540D284981EA57E6A549EA70A3A977EE30@INBLRK77M1MSX.in002 . %3E

  2. Ran 'mvn package' (在 'mahout-distribution-0.7' 文件夹中),正如一些人在Error while clustering data with kmeans完成时所建议的那样(花了大约一个小时,但最终结果显示'BUILD SUCCESSFUL')

  3. 查找如何构建/运行这个简单的 Mahout 程序而不会出现异常?但我看到 mathout 的数学库已经存在于 pom.xml 中的“mahout-distribution-0.7”文件夹下。

需要注意的一点是,最初我的“hadoop jar xxx”命令引发了找不到 MultiSet (com.google.common.collect.Multiset) 的错误,我调整了 Classifier.java 代码以使用 HashMap 而不是 MultiSet,所以绕过了那个错误。但是现在看代码,需要让hadoop识别Vector类才能成功运行程序。

有人可以帮助我如何让我的 hadoop 识别 mahout 库并修复上述错误吗?

我正在使用“Hadoop 0.20.2”和“mahout-distribution-0.7”。

提前致谢

4

0 回答 0