hadoop提供accesscontrolexception

wgxvkvu9  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(328)

我正试图从我的windows机器向hdfs集群写入一个文件,但出现以下错误
org.apache.hadoop.ipc.remoteexception(org.apache.hadoop.security.accesscontrolexception):权限被拒绝:user=…,access=write,inode=“/user/hadoop/hadoop\u file.txt”:hdfs:hdfs:-rw-r--r--
在我的hadoop配置中

hadoop.security.auth_to_local is set to DEFAULT 
 hadoop.security.authentication is set to SIMPLE

如果我通过

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

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

wwwo4jvm

wwwo4jvm1#

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

1rhkuytd

1rhkuytd2#

hadoop中的简单身份验证意味着你不需要证明你是谁,例如用密码或令牌,但你仍然需要说出你是谁。无论您声称自己是哪个用户,hadoop都会相信您,并为您请求的操作采用用户名。
在hdfs上仍然有权限(您可以通过 hdfs:hdfs:-rw-r--r-- 因此您需要声明自己是一个对您的操作具有必要权限的用户,这就是您所做的 System.setProperty("HADOOP_USER_NAME", "hdfs"); 短版本是,身份与身份验证不同:)

相关问题