2013-02-25 61 views
0

在某些機器上運行KMEANS時,我得到了以下錯誤:Mahout的集羣崩潰

java.io.FileNotFoundException: File file:/home/daniel/Aimee/agent/big-data/mahout-clusters/target/output/clusters-0-final/_policy does not exist. 
at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:371) ~[hadoop-core-0.20.204.0.jar:na] 
at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:245) ~[hadoop-core-0.20.204.0.jar:na] 
at org.apache.hadoop.fs.FileSystem.getLength(FileSystem.java:720) ~[hadoop-core-0.20.204.0.jar:na] 
at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1417) ~[hadoop-core-0.20.204.0.jar:na] 
at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1412) ~[hadoop-core-0.20.204.0.jar:na] 
at org.apache.mahout.clustering.classify.ClusterClassifier.readPolicy(ClusterClassifier.java:223) ~[mahout-core-0.7.jar:0.7] 
at org.apache.mahout.clustering.classify.ClusterClassificationMapper.setup(ClusterClassificationMapper.java:75) ~[mahout-core-0.7.jar:0.7] 
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:142) ~[hadoop-core-0.20.204.0.jar:na] 
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764) ~[hadoop-core-0.20.204.0.jar:na] 
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370) ~[hadoop-core-0.20.204.0.jar:na] 
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212) ~[hadoop-core-0.20.204.0.jar:na] 

這似乎是一個特定的文件不被因某些原因產生的。 我試圖谷歌這一點,但沒有什麼記錄在網絡上有關這種問題。我使用mahout-core 0.7,它使用hadoop-core 0.20.204.0。 感謝您的任何線索,這個問題吸吮我的時間... :-(

回答

0

好的,這花了我一些時間來解決這個問題,所以我留下這個答案給任何人可能遇到這個問題。因爲我使用canopy來計算KMeans的第一個中心,並且冠層沒有配置runClustering = true,所以它沒有生成_policy文件,但是這種行爲是不一致的,在某些機器上,文件正在生成,而不管runClustering的值如何。