2016-06-24 202 views
0

我正在嘗試運行從互聯網上執行的mapreduce作業。這項工作需要輸入'points.dat'文件並對其進行k-means聚類。它應該生成一個文件'centroids.dat'和一個文件,它們的點與他們自己的質心相匹配。幾個月來,這是工作,但現在我試圖重新執行一個新的安裝。無法在Hadoop上運行MapReduce作業

我做

bin/hdfs dfs -copyFromLocal ..//..//../home/<myusername>/Downloads/points.dat 

一切都很好,文件出現在HDFS上的/用戶//路徑中的Web服務工具。 JPS是確定

罐子請求ARGS:

<input> <output> <n clusters> 

所以我做了

bin/hadoop jar ../../../home/<myusername>/Downloads/kmeans.jar /user/<myusername>/ /out 3 

它會在/用戶 「centroids.dat」 文件/和出/目錄。盡我所知,它試圖重新讀取「centroids.dat」來執行。因此,它有一些失敗結束像

"failed creating symlink /tmp/hadoop-<myusername>/mapred/local/1466809349241/centroids.dat <- /usr/local/hadoop/centroids.dat 

所以Java養FileNotFoundException異常

我試圖縮短儘可能的問題。如果需要更多的信息,我

+0

只是一個想法,你有你的文件夾中寫入文件的權利?有時候如果你在外部服務器上工作,會發生這種情況 –

+0

我在當地工作。不過,我不是那種linux的專家。我如何檢查它? – QuasarLex

回答

0

沒有問題,我認爲你缺少提主類在命令

bin/hadoop jar kmeans.jar MainClass input output 
+0

在主類別i具有 公共靜態無效的主要(字串[] args)拋出異常{ 如果(參數= 3!){ 通信System.err.println( 「用法:KMEANS 」) ; System.exit(2); } 如果我把路徑後的主要類的名稱打印出「用法:Kmeans ....等等等」 – QuasarLex

+0

你能粘貼你的代碼嗎?如果它不是機密的。 –

相關問題