10

我在大约 20 个节点的集群上安装了 coudera hadoop 4。使用 cloudera manager 它非常顺利,但是当我想使用创建输入目录时,hadoop fs -mkdir input我收到以下错误:mkdir: Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x看起来像一个经典的错误权限案例,但我不知道从哪里开始解决这个问题。我找到了这份文件,如果我知道如何处理它,我认为它可以解决我的问题。对于初学者,我不知道我是否使用 v2 的 MapReduce v1(我在我的 cloudera 管理器中没有看到任何纱线服务,所以我的猜测是 v1(?))。其次,由于整个安装是自动的,我不知道安装了什么以及安装在哪里。

谁能指出我一些简单的步骤来解决我的问题?我真的在这里寻找最简单的解决方案,我根本不关心安全性,因为它只是一个测试。如果我可以给所有用户所有可能的权限就好了。

4

4 回答 4

16

我解决了我的问题:在cloudera manager中,进入高级下的hdfs配置,并将以下代码放入HDFS服务配置安全阀中:

<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>
于 2012-11-26T18:12:29.243 回答
0

更改dfs.permission始终是一种解决方案,但您也可以尝试更改用户。在我的系统中,写入权限仅分配给“hdfs”用户。可以通过以下命令更改用户:

su hdfs
于 2014-12-01T10:41:03.020 回答
0

hdfs1 -> 配置 -> 查看和编辑 -> 取消选中“检查 HDFS 权限”这工作感谢 Shehaz

于 2016-07-10T15:39:10.203 回答
0

1.不要修改dfs.permissions。保持其值为true。

2.如果需要,为特定用户添加组。(可选)

组添加开发组添加生产

echo "创造了集团生产和发展。"

使用现有组创建用户并分配要使用的 hdfs 目录

useradd -g development clouddev3 sudo -u hdfs hadoop fs -mkdir -p /user/clouddev3 sudo -u hdfs hadoop fs -chown -R clouddev3:development /user/clouddev3 echo "用户 clouddev3 创建并拥有 hdfs 中的 /user/clouddev3 目录"

现在使用 clouddev3 用户登录并尝试,

hdfs dfs -ls /user/clouddev3

或 hdfs dfs -ls

于 2017-09-18T10:57:21.377 回答