当我运行mahout命令时,发生以下错误:
Running on hadoop, using /usr/local/hadoop/bin/hadoop and HADOOP_CONF_DIR= MAHOUT-JOB: /home/ubuntu/mahout/examples/target/mahout-examples-0.8-SNAPSHOT-job.jar Exception in thread "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) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at 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。在上述问题中指出,此错误已在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安装工作)。
您有什么想法或建议吗?谢谢。
最佳答案
您正在运行什么mahout命令?
您是否能够成功运行文档中列出的示例命令?
该mahout主要方法是根据传递给它的参数动态加载类,如果它们格式错误,则可能会出现如上的NoSuchMethodError。
关于hadoop - Mahout 0.8和hadoop 0.21,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15680606/