一.在初次使用eclipse运行MapReduce程序时会出现未设置路径权限的错误(
Failed to set permissions of path:)。如下图
出现这种错误的原因是程序运行时给出的输入输出路径的权限无法满足Hadoop自带的权限检查要求。
(hadoop中hdfs文件系统中要求文件权限达到755,而实际从本地上传进hdfs系统中的文件权限只有644,不满足系统要求才出现的错误)。
二.明白错误的原因后我们可以通过更改Hadoop中控制权限的方法,达到避免错误的目的。
Hadoop系统中控制hdfs权限检查的方法在 org.apache.hadoop.fs下FileUtil.java中。
找到自己导入到eclipse中的Hadoop源码,将checkReturnValue方法注释掉即可,如下。
三.保存此程序即可。
![](https://img-blog.csdnimg.cn/2022010707103139356.png)
出现这种错误的原因是程序运行时给出的输入输出路径的权限无法满足Hadoop自带的权限检查要求。
(hadoop中hdfs文件系统中要求文件权限达到755,而实际从本地上传进hdfs系统中的文件权限只有644,不满足系统要求才出现的错误)。
二.明白错误的原因后我们可以通过更改Hadoop中控制权限的方法,达到避免错误的目的。
Hadoop系统中控制hdfs权限检查的方法在 org.apache.hadoop.fs下FileUtil.java中。
找到自己导入到eclipse中的Hadoop源码,将checkReturnValue方法注释掉即可,如下。
![](https://img-blog.csdnimg.cn/2022010707103146849.png)
三.保存此程序即可。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30172158/viewspace-1844229/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30172158/viewspace-1844229/