在 Cloudera Hadoop 4(CDH4)中设置权限

在 Cloudera Hadoop 4(CDH4)中设置权限

我想要在CDH4中设置HDFS权限,要求如下:

  1. 每个人都可以读取所有 HDFS 目录中的所有内容
  2. 每个用户只能写入 HDFS 上的其用户目录
  3. 除非是可以在任何地方写入的特殊用户

这是要求的简化版本,但这是一个好的开始。

问题是 - 我该如何配置它?我必须设置 Kerberos 吗?Cloudera 安全指南仅讨论 Kerberos,但我认为目前我不需要强大的身份验证方案。

由于我是 Hadoop 新手,因此循序渐进的指南确实很有帮助。

答案1

如果您在非 Kerberos 模式下运行,dfs.permissions 基本上是建议性的。只要有人没有发现他们可以伪造用户名并成为其他任何人(包括超级用户,如 hdfs),权限将由 namenode 强制执行。如果您对此很满意,则无需设置 Kerberos。

  1. 将文件和目录的默认权限设置为 fs.permissions.umask-mode = 0022。这将导致所有新创建的文件都设置正确的读取权限。
  2. 设置/user/的默认权限用户名为 755。
  3. 设置一个名为“hadoop”的新 unix 组。将您的用户添加到该组。在您的 hdfs-site.xml 中,将 dfs.permissions.supergroup 设置为 hadoop。确保您的 hdfs 用户属于此 unix 组。hadoop 组中的任何用户现在都可以写入任何文件,因为他们被视为超级用户。

相关内容