我已经在CentOS7上安装了hadoop。用python编写的守护程序服务试图在hdfs中创建目录,但出现以下权限错误。
mkdir: Permission denied: user=root, access=WRITE, inode="/rep_data/store/data/":hadoop:supergroup:drwxr-xr-x
看起来我的服务正在根帐户下运行。所以我想知道如何授予根用户创建目录和写入文件的权限。
p4tfgftt1#
如果您试图在hdfs根目录下创建目录,即 / ,您可能会面临此类问题。你可以在家里创建目录,没有任何问题要在根目录中创建目录,请执行如下命令 sudo hdfs hdfs dfs -mkdir /directory/name 要在hdfs home中创建目录,请执行以下命令 hdfs dfs -mkdir /user/user_home/directory/name
/
sudo hdfs hdfs dfs -mkdir /directory/name
hdfs dfs -mkdir /user/user_home/directory/name
aij0ehis2#
这可能是一个问题,因为你不是超级用户。一种解决方法是在hdfs中启用访问控制列表,并向用户授予权限。要启用对ACL的支持,请设置 dfs.namenode.acls.enabled 在namenode配置中为true。更多信息请查看:链接
dfs.namenode.acls.enabled
2条答案
按热度按时间p4tfgftt1#
如果您试图在hdfs根目录下创建目录,即
/
,您可能会面临此类问题。你可以在家里创建目录,没有任何问题要在根目录中创建目录,请执行如下命令
sudo hdfs hdfs dfs -mkdir /directory/name
要在hdfs home中创建目录,请执行以下命令hdfs dfs -mkdir /user/user_home/directory/name
aij0ehis2#
这可能是一个问题,因为你不是超级用户。
一种解决方法是在hdfs中启用访问控制列表,并向用户授予权限。要启用对ACL的支持,请设置
dfs.namenode.acls.enabled
在namenode配置中为true。更多信息请查看:链接