【问题标题】:Setting permissions for cloudera hadoop为 cloudera hadoop 设置权限
【发布时间】:2012-11-12 14:29:26
【问题描述】:

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

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

【问题讨论】:

    标签: permissions hadoop cloudera


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢!现在需要在 GUI 中进行设置。 localhost:7180 -> hdfs1 -> 配置 -> 查看和编辑 -> 取消选中“检查 HDFS 权限”。重启虚拟机。
    • 感谢您为我节省了大量时间!
    • 或者这可以工作“sudo -u hdfs hadoop fs -mkdir input”
    • 这确实解决了问题 - 但关闭权限是“核”解决方案吗?就像关闭防火墙一样——它实际上并不能解决问题?
    【解决方案2】:

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

    su hdfs
    

    【讨论】:

    • hdfs 用户在这种情况下没有密码,并且不在 sudoers 列表中,您需要首先将其添加到 sudoers 列表中,然后您需要密码
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多