Win7環境下經過Eclipse鏈接Hadoop1.2.1集羣時,會遇到以下報錯:
Exception in thread "main" java.io.IOException: Failed to set permissions of path: \tmp\hadoop-Administrator\mapred\staging\Administrator-519341271\.staging to 0700java
此時只須要修改org.apache.hadoop.fs.FileUtil文件並從新編譯便可,簡單解決步驟以下:linux
1.到源碼中拷貝src/core/org/apache/hadoop/fs/FileUtil.java文件,粘貼到eclipse工程目錄下apache
4.找到如下部分,註釋掉checkReturnValue方法中的代碼eclipse
private static void checkReturnValue(boolean rv, File p,oop
FsPermission permissionspa
) throws IOException {orm
/*ip
//win7 connect to linux hadoophadoop
if (!rv) {get
throw new IOException("Failed to set permissions of path: " + p +
" to " +
String.format("%04o", permission.toShort()));
}
*/
}
5.hadoop-core-1.2.1.jar 解包
6.用上面更改的FileUtil.class(在工程輸出目錄)覆蓋包裏面的同文件
6.在dos上面從新打包,打包之替換原來拷貝下來hadoop目錄裏面的hadoop-core-1.2.1.jar
7.將包從新導入工程,把工程裏面的包替換掉
INFO mapred.JobClient: Cleaning up the staging area file:/tmp/hadoop-hadoop/mapred/staging/hadoop-2103292795/.staging/job_local_0001