我最近在我的机器上安装了Hadoop。我有权限问题。我以用户rahul的身份登录,并尝试在HDFS(hdfs dfs -mkdir /rahul_workspace)中创建一个目录。但它给了我一个错误的Permission denied: user=Rahul, access=WRITE, inode="/user":hdfs:hdfs:drwxr-xr-x。在谷歌上快速搜索此错误会得到许多响应,建议通过将hdfs-site.xml中的dfs.permissions属性设置为false来禁用权限检查。现在我可以在HDFS中创建目录了。将上述属性设置为false后,我是否可以访问所有其他hadoop服务,如hive、pig、sqoop等?
发布于 2015-06-26 00:55:19
dfs.permissions是可用于启用/禁用HDFS ACL的属性(简单权限)。当dfs.permission设置为false时,任何用户都可以在HDFS中的任何位置创建/删除文件/目录。
将此属性设置为false后,您可以访问所有其他Hadoop服务,如Hive、Pig等。
发布于 2015-06-26 22:13:13
HDFS将启动namenode进程的用户视为“超级用户”。此用户通常是hdfs用户。您尝试写入的/user目录属于hdfs用户和hdfs组,对hdfs组和其他用户具有读取和执行权限。
禁用权限似乎有点极端。这里有几个选项,第一个选项是将用户目录创建为hdfs用户。
sudo -u hdfs hdfs fs -mkdir /rahul_workspace
sudo -u hdfs hdfs fs -chown Rahul /rahul_workspace这将创建您的目录并将所有权更改为您。另一种选择是在您已经拥有写入权限的区域中创建目录。通常,/tmp是完全开放的。
hdfs fs -mkdir /tmp/rahul_workspace发布于 2016-07-22 13:55:57
在Cloudera上:我创建了一个在色调上具有默认权限的用户,即user1
然后,在linux shell中,首先访问hdfs用户权限:export HADOOP_USER_NAME=hdfs
然后,对于您的linux用户名,如"user1":
尝试:hdfs dfs -chown user1:user1 /
现在,如果您获得了适当的权限:
尝试在‘/’上创建目录:hdfs dfs -mkdir /testuser1
https://stackoverflow.com/questions/31055650
复制相似问题