当我运行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 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:601)at org.apache.hadoop.util.RunJar.main(RunJar.java:192)
我遇到的问题与此处相同:mahout wont start up. Anything to do with compatible version between hadoop and mahout? 区别在于我使用hadoop 0.21和mahout 0.8。在上面的问题中指出,这个bug已经在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编译不起作用(当我使用hadoop 1.1.2时,mvn编译和mvn安装工作)。
您有任何想法或建议吗?谢谢。
答案 0 :(得分:0)
你在运行什么mahout命令?
您是否能够成功运行文档中列出的示例命令?
mahout main方法是根据传递给它的参数动态加载类,如果它们格式不正确,那么你可能得到如上所述的NoSuchMethodError。