2012-05-14 44 views
2

我能夠驗證輸入目錄(位於/ tmp下)是否與新聞組數據一同存在。不知道爲什麼我得到一個文件沒有發現異常。無法在Cygwin下運行Mahout 20newsgroups示例

$ SH classify-20newsgroups.sh 請選擇一個數字,以選擇相應的任務來運行 1. naivebayes 2. SGD 3.乾淨 - 在/ tmp /象夫 - 工作 - 清理工作區rsrinivasan 輸入您的選擇:1 好的。您選擇了1,我們將使用naivebayes 在/ tmp/mahout-work-rsrinivasan創建工作目錄 準備培訓數據 MAHOUT_LOCAL未設置;將HADOOP_CONF_DIR添加到類路徑中。 no HADOOP_HOME set,在本地運行 SLF4J:類路徑包含多個SLF4J綁定。 SLF4J:在[jar:file:/ C:/cygwin/usr/local/mahout/examples/target/mahout-examples-0.6-job.jar!/org/slf4j/impl/StaticLoggerBinder.class]中找到綁定 SLF4J :在[jar:file:/ C:/cygwin/usr/local/mahout/examples/target/dependency/slf4j-jcl-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]中找到綁定 SLF4J :在[jar:file:/ C:/cygwin/usr/local/mahout/examples/target/dependency/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]中找到綁定 SLF4J :有關說明,請參閱http://www.slf4j.org/codes.html#multiple_bindings。 12/05/14 09:13:44 WARN driver.MahoutDriver:否在類路徑上找到org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups.props,將僅使用命令行參數 線程「main」中的異常java.io.FileNotFoundException:無法找到輸入目錄\ tmp目錄\ Mahout的工作,rsrinivasan \ 20news-bydate \ 20news-bydate列車 在org.apache.mahout.classifier.bayes.PrepareTwentyNewsgroups.main(PrepareTwentyNewsgroups。的java:92) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.util.ProgramDriver $ ProgramDescription.invoke(ProgramDriver.java:68) at org.apache.hadoop.util。 ProgramDriver.driver(ProgramDriver.java:139) 在org.apache.mahout.driver.MahoutDriver.main(MahoutDriver.java:188)

回答

0

您可能不得不編輯腳本它適用於Windows之前。我想象Cygwin/Windows的路徑是錯誤的。

+0

我檢查的路徑在classify-20newsgroups.sh和象夫外殼腳本,這兩個點與所述輸入數據的位置。看來問題在於JVM如何使用路徑。由於JVM在Windows中本地運行(即,在cygwin之外),因此我不清楚如何更改路徑。我能夠讓所有的東西在Mac上工作。順便說一句,剛剛訂購你的書。 – user1394015

+0

我通過使用cygpath -wp轉換它們來解決路徑問題。現在我得到這個異常: 異常在線程「主」java.io.IOException:無法設置路徑的權限:\ tmp \ hadoop-rsrinivasan \ mapred \ staging \ rsrinivasan431425615 \ .staging到0700 我有MAHOUT_LOCAL組。我不明白爲什麼在本地模式下mahout試圖使用hadoop! – user1394015

+0

本地模式仍然意味着Hadoop,只是沒有在羣集中運行。它在進程中運行Hadoop。 (這不是Mahout特有的。)權限錯誤通常是因爲Windows沒有'chmod'。我認爲。 –

0

最好在unix環境下運行該示例。當我嘗試oscon2011路透社的例子時,我遇到了類似的問題;儘管我使用git bash控制檯來完成這項工作。看來,分類和聚類示例hdfs本地運行正常。

我設法使用vagrant啓動並運行virtualbox,這個過程相對比較簡單。是的,它增加了學習週期,但經過一些初始投資後,我能夠在幾個小時內完成路透社的例子。

感謝 阿南德