我试图在hdfs中为用户tom创建一个目录,我得到了以下与权限相关的错误。请让我知道如何解决这个问题。
hdfs dfs -mkdir /user/tom / mkdir: Permission denied: user=tom, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x
好心帮忙。谢谢,拉姆
1dkrff031#
HDFS的文件权限方法与Linux系统中使用的POSIX方法非常相似。从您显示的错误消息来看,只有用户“hdfs”可以在/user目录中创建新条目。在您的情况下,有两个例外:1.运行NameNode的用户具有超级用户权限,并且永远不会通过权限检查。NameNode(以及辅助NameNode和DataNode)通常由“hdfs”用户启动,该用户是“/user”目录的所有者。
s4n0splo2#
要在/user中创建目录,您需要对/user目录具有“WRITE”权限。然而,/user上的权限相当于755,因此只有/user的所有者“hdfs”具有写入权限。错误消息明确指出:
mkdir: Permission denied: user=tom, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x
用户'tom'运行了该命令,但/user由hdfs拥有,group是supergroup,mode位为755。
2条答案
按热度按时间1dkrff031#
HDFS的文件权限方法与Linux系统中使用的POSIX方法非常相似。从您显示的错误消息来看,只有用户“hdfs”可以在/user目录中创建新条目。在您的情况下,有两个例外:
1.运行NameNode的用户具有超级用户权限,并且永远不会通过权限检查。NameNode(以及辅助NameNode和DataNode)通常由“hdfs”用户启动,该用户是“/user”目录的所有者。
有关这方面的更多详细信息,请参见Apache HDFS Permissions Guide的链接。
s4n0splo2#
要在/user中创建目录,您需要对/user目录具有“WRITE”权限。然而,/user上的权限相当于755,因此只有/user的所有者“hdfs”具有写入权限。错误消息明确指出:
用户'tom'运行了该命令,但/user由hdfs拥有,group是supergroup,mode位为755。