2013-03-28 64 views
0

當我運行象夫命令,以下錯誤發生:亨利馬烏0.8和Hadoop 0.21

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和象夫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 compile和mvn install工作)。

你有什麼想法或建議嗎?謝謝。

+0

似乎在0.21有一些方法簽名的變化,因此該方法無法找到。 – 2013-03-28 12:00:01

回答

0

你正在運行什麼mahout命令?

您能否成功運行文檔中列出的示例命令?

mahout主要方法是基於您傳遞給它的參數動態加載類,如果它們格式不正確,那麼您可能會得到類似上面的NoSuchMethodError。

相關問題