0

当我运行 mahout 命令时,会发生以下错误:

在 hadoop 上运行,使用 /usr/local/hadoop/bin/hadoop 和 HADOOP_CONF_DIR= MAHOUT-JOB: /home/ubuntu/mahout/examples/target/mahout-examples-0.8-SNAPSHOT-job.jar 线程“main”中的异常java.lang.NoSuchMethodError: org.apache.hadoop.util.ProgramDriver.driver([Ljava/lang/String;)V at org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:123) at sun.reflect .NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method .java:601) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:192)

我有与这里相对相同的问题:mahout 无法启动。hadoop和mahout之间的兼容版本有什么关系吗? 不同之处在于我使用的是 hadoop 0.21 和 mahout 0.8。在上面的问题中指出,这个错误已经在 mahout 0.8 中修复,但我仍然遇到同样的错误。

我在http://comments.gmane.org/gmane.comp.apache.mahout.user/14817找到了关于这个问题的另一个解决方案,作者建议更改 pom.xml 文件。我试图将主 pom 文件中的 hadoopverion 从 1.1.2 更改为 0.21.0,但 maven 存储库没有该依赖项。因此,我更改为 0.20.2 但随后 mvn compile 不起作用(当我使用 hadoop 1.1.2 时 mvn compile 和 mvn install 工作)。

你有什么想法或建议吗?谢谢你。

4

1 回答 1

0

你在运行什么 mahout 命令?

您是否能够成功运行文档中列出的示例命令?

该 mahout 主要方法正在根据您传递给它的参数动态加载类,如果它们格式错误,那么您可能会得到一个像上面这样的 NoSuchMethodError。

于 2013-05-03T22:57:24.863 回答