现在的位置: 首页 > 综合 > 正文

windows hadoop HDFS Failed to set permissions of path

2013年09月22日 ⁄ 综合 ⁄ 共 1710字 ⁄ 字号 评论关闭

windows 下运行hadoop job时报错:

12/07/18 20:00:02 ERROR security.UserGroupInformation: PriviledgedActionException as:Administrator cause:java.io.IOException: Failed to set permissions of path: \tmp\hadoop-Administrator\mapred\staging\Administrator343777043\.staging to 0700
java.io.IOException: Failed to set permissions of path: \tmp\hadoop-Administrator\mapred\staging\Administrator343777043\.staging to 0700
	at org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:682)
	at org.apache.hadoop.fs.FileUtil.setPermission(FileUtil.java:655)
	at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:509)
	at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:344)
	at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:189)
	at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:116)
	at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:856)
	at org.apache.hadoop.mapred.JobClient$2.run(JobClient.java:850)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Unknown Source)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1093)
	at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:850)
	at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:824)
	at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1261)

把 项目引用的 hadoop-core-1.0.2.jar  换成 hadoop-core-0.20.2.jar,了事。


参考:

http://hi.baidu.com/fedora_12/item/43a8c4baafbfbbf963388eeb

http://stackoverflow.com/questions/10509427/haddop-in-windows

https://issues.apache.org/jira/browse/HADOOP-7682


另一种方法:

自己把hadoop源代码中的org.apache.hadoop.fs.FileUtil放到项目中去,自己修改FileUtil.checkReturnValue,使得在WIndows下不报出这个异常。

或者干脆自己重新编译hadoop的jar。

抱歉!评论已关闭.