【问题标题】:Hadoop: Error in implementing Bayesian Algorithm in Apache MahoutHadoop:在 Apache Mahout 中实现贝叶斯算法时出错
【发布时间】:2011-01-27 19:53:46
【问题描述】:

我在 Mahout 中执行贝叶斯算法时遇到问题。我用 Maven 构建了它,作业文件在目标目录中。当使用 Hadoop 从终端运行时,我收到 ClassNotFoundException 错误。应该怎么做?

$HADOOP_HOME/bin/hadoop jar mahout-core-0.3-SNAPSHOT.job org.apache.mahout.classifier.bayes.mapreduce.bayes.bayesdriver -i test -o output

线程“主”java.lang.ClassNotFoundException 中的异常: org.apache.mahout.classifier.bayes.mapreduce.bayes.bayesdriver 在 java.net.URLClassLoader$1.run(URLClassLoader.java:200) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:188) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:252) 在 java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) 在 java.lang.Class.forName0(本机方法)在 java.lang.Class.forName(Class.java:247) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:149)

【问题讨论】:

    标签: hadoop hadoop2 mahout bayesian


    【解决方案1】:

    您的文件以 .job 而不是 .jar 结尾这一事实是否相关?文档不清楚。

    【讨论】:

      【解决方案2】:

      我认为你应该打电话:

      $HADOOP_HOME/bin/hadoop jar mahout-core-0.3-SNAPSHOT.job org.apache.mahout.classifier.bayes.mapreduce.bayes.BayesDriver -i test -o output

      注意 BayesDriver,而不是bayesdriver。

      (参考this documentation

      【讨论】:

      • 好吧,猜猜它应该是小写的。它与其他使用 MapReduce 的程序一起工作,而没有 Mahout。无论如何,我尝试了没有任何区别的方法。
      • 这是我在提供 BayesDriver 时遇到的错误。线程“主”java.lang.NoSuchMethodException 中的异常:org.apache.mahout.classifier.bayes.mapreduce.bayes.BayesDriver.main([Ljava.lang.String;) at java.lang.Class.getMethod(Class.java :1605) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:150)
      猜你喜欢
      • 2011-12-28
      • 1970-01-01
      • 2021-04-09
      • 2012-01-24
      • 1970-01-01
      • 2012-04-09
      • 2019-02-15
      • 2021-07-24
      • 2012-07-15
      相关资源
      最近更新 更多