首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hadoop给AccessControlException

Hadoop给AccessControlException
EN

Stack Overflow用户
提问于 2015-07-31 07:29:44
回答 2查看 443关注 0票数 2

我试图从windows机器向HDFS集群写入一个文件,但是出现了以下错误

org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException):许可被拒绝:user=.,access=WRITE,inode="/user/hadoop/Hadoop_File.txt":hdfs:hdfs:-rw-r--r--

在我的hadoop配置

代码语言:javascript
复制
 hadoop.security.auth_to_local is set to DEFAULT 
 hadoop.security.authentication is set to SIMPLE

如果我提到用户名为"hdfs“,请执行

代码语言:javascript
复制
System.setProperty("HADOOP_USER_NAME", "hdfs");

一切都很好。

但是,如果策略很简单,就意味着没有身份验证,它应该允许任何用户创建文件,帮助我理解为什么会发生这种情况。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-31 10:10:14

我得到了答案:)您必须配置dfs.permissions.enable = false,在我的情况下,这是正确的,一旦它被关闭,它不会对任何使用的用户抱怨

票数 1
EN

Stack Overflow用户

发布于 2015-07-31 07:40:37

Hadoop中的简单身份验证意味着您不需要证明自己是谁,例如使用密码或令牌,但仍然需要说明您是谁。无论您声称自己是哪个用户,Hadoop都会相信您,并为您请求的操作采用用户名。

HDFS上仍然有权限(您可以在上面的消息中看到使用hdfs:hdfs:-rw-r--r-- ),因此您需要断言自己是一个拥有操作所需权限的用户,这就是您对System.setProperty("HADOOP_USER_NAME", "hdfs");所做的事情。

简短的版本是,标识与身份验证不一样:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31740512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档