我試圖在單個系統(僞分佈式模式)上運行構建決策樹的Breiman示例以進行Mahout中的分類。我指this tutorial 我有與前兩個步驟的教程的但第三步驟沒問題(這是「生成用於所述數據集的文件描述符」)拋出異常如下所示java.lang.ClassNotFoundException在Mahout中運行Breiman示例
Exception in thread "main" java.lang.ClassNotFoundException: org.apache.mahout.classifier.df.tools.Describe
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:266)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
命令我跑是
[email protected]:~/hadoop$ bin/hadoop jar /home/viggi/workspace/mahout-distribution-0.5/mahout-core-0.5-job.jar org.apache.mahout.classifier.df.tools.Describe -p data10/glass.data -f data10/glass.info -d I 9 N L
我發現了一個帖子在堆棧溢出與類似的異常。 java.lang.NoClassDefFoundError儘管它與mahout或Breiman例子無關,但我決定採用推薦的解決方案,下載HttpClient jar-library
並將其放入$MAHOUT_HOME/lib
。它沒有工作。所以如果有人能夠解釋第三步實際做了什麼以及如何擺脫這些例外情況,那將會非常有幫助。
在控制檯中進行編譯,您可以執行以下命令:'罐子-tvf Mahout的核心-0.5-工作。 jar | grep Describe' - 並確認該類在輸出中列出 – 2013-03-27 10:24:41
@ChrisWhite Describe.class存在於該jar中。這裏的輸出 - 6995 Sat May 28 28:07:08 IST 2011 org/apache/mahout/df/tools/Describe.class – 2013-03-27 10:32:34