mkdir”在权限被拒绝的情况下失败?

apeeds0o  于 2021-06-03  发布在  Hadoop
关注(0)|答案(6)|浏览(599)

我在一台虚拟机上使用cloudera。不幸的是,我在将数据复制到hdfs时遇到了问题,我得到了以下结果:

[cloudera@localhost ~]$ hadoop fs -mkdir input
mkdir: Permission denied: user=cloudera, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x

我不太关心这个虚拟机上的安全性,有没有什么方法可以让我在hdfs上打开更多的安全性?

nszi6y05

nszi6y051#

export HADOOP_USER_NAME=hdfs

试着运行这个命令,然后做一个目录,它像一个魅力为我工作。

yvfmudvl

yvfmudvl2#

在cloudera管理器中,您可以更改设置:hdfs->configuration->view&edit,取消选中check hdfs permissions dfs.permissions并重新启动hdfs。

izkcnapc

izkcnapc3#

这是因为您没有足够的权限在hdfs中创建目录。尝试以sudo运行此命令:

sudo -u hdfs hadoop fs -mkdir -p /user/samplefolder

但不建议这样做,因为这样会损害安全性。

unhi4e5o

unhi4e5o4#

当您执行上述命令时,如果hdfs home directory(/user/cloudera)不在那里,那么将首先创建该目录,然后在/user/cloudera下创建目录输入
要授予cloudera用户创建自己目录的权限,您必须授予权限。hdfs user是hdfs中的管理用户,切换到hdfs,然后执行以下命令

[hdfs@localhost~]$ hadoop fs -mkdir /user/cloudera ; hadoop fs -chmod 777  /user/cloudera

或者
如果您不太关心hdfs的安全性,可以通过在hdfs-site.xml中将下面的属性设置为false来禁用hdfs权限

<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>

将此属性设置为false后,需要重新启动hdfs。

tsm1rwdh

tsm1rwdh5#

使用 mkdir 在hadoop中需要“hadoop文件权限”。从您的示例中可以看到,hdfs是一个拥有创建文件夹权限的用户。所以如果你跑:

sudo -u hdfs hadoop fs -mkdir /import

然后 import 将创建文件夹。如果要更改此文件夹的所有者,请运行:

sudo -u hdfs hadoop fs -chown new_user /import

现在新用户可以操作 import 文件夹

efzxgjgh

efzxgjgh6#

我通过在中创建一个超群解决了这个问题 /etc/group 并更新了用户登录信息。我的意思是用户应该是hdfs超组的一部分,才有权在hdfs上进行写操作。
$vi /etc/group supergroup:x:30000:root 后来可以在hdfs上写了。希望有帮助

相关问题