无法在hdfs中创建目录 - 权限被拒绝错误

时间:2014-11-11 02:36:08

标签: hdfs

我正在尝试在hdfs中为用户tom创建一个目录,我得到以下与权限相关的错误。请让我知道如何解决这个问题。

hdfs dfs -mkdir /user/tom /
mkdir: Permission denied: user=tom, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x

请帮助。

谢谢, 拉姆

2 个答案:

答案 0 :(得分:0)

HDFS文件权限方法与Linux系统中使用的POSIX方法非常相似。从您显示的错误消息中,只有用户" hdfs"可以在/ user目录中创建新条目。在您的情况下,有两个例外:

  1. 运行NameNode的用户具有超级用户权限,永远不会失败权限检查。 NameNode(和Secondary NameNode& DataNodes)通常由" hdfs"用户是" / user"的所有者目录无论如何。
  2. HDFS配置文件(hdfs-site.xml)支持" dfs.permissions.superusergroup"的规范,该用户组的成员也被视为超级用户,其请求永远不会失败的权限检查。
  3. 有关详细信息,请访问Apache HDFS Permissions Guide

答案 1 :(得分:0)

要在/ 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,模式位为755。