您的位置:首页 > 编程语言 > Java开发

Windows|Eclipse 运行HDFS程序遇到问题之 AccessControlException【windows中运行hdfs程序后报的异常:访问权限控制异常;方案二,修改MR程序即可】

2015-05-27 16:12 1081 查看
文章来源:http://f.dataguru.cn/thread-281774-1-1.html

问题:

Windows|Eclipse 运行HDFS程序之后,报:org.apache.hadoop.security.AccessControlException: Permission denied: user=sunqw, access=WRITE, inode="":hadoop:supergroup:rwxr-xr-x。

或者

Windows|Eclipse 运行HDFS程序之后,报:org.apache.hadoop.security.AccessControlException:
Access denied for user sunqw. Superuser privilege is required。

解决方法:

方式一:

在系统环境变量中增加HADOOP_USER_NAME,其值为root;

或者 通过java程序动态添加,如下:

System.setProperty("HADOOP_USER_NAME", "root");

方式二:

使用Eclipse在非hadoop运行的用户下进行写入hdfs文件系统中时,由于sunqw对"/"目录没有写入权限,所以导致异常的发生。解决方法即开放hadoop中的HDFS目录的权限,命令如下:hadoop fs -chmod 777 / 。

方式三:

修改hadoop的配置文件:conf/hdfs-core.xml,添加或者修改 dfs.permissions 的值为 false。

方式四:

将Eclipse所在机器的用户的名称修改为root,即与服务器上运行hadoop的用户一致。

总结:
第一种方法可行,后面三种方法适用性不高
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐