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

我想在CDH4中设置HDFS权限,具有以下要求:

  1. 每个人都可以读取所有HDFS目录中的内容
  2. 每个用户只能在HDFS上写入他的用户目录
  3. 除了可以随处写字的特殊用户

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

问题是 – 我该如何configuration? 我必须build立Kerberos吗? Cloudera安全指南仅讨论Kerberos,但我认为在这一点上我不需要强大的身份validationscheme。

一步一步的指导将会非常有帮助,因为我是Hadoop的新手。

如果你运行在非Kerberos模式,dfs.permissions基本上是咨询。 权限将由namenode执行,只要有人不知道他们可以欺骗他们的用户名并成为其他人(包括超级用户,如hdfs)。 如果你很酷,那么你不需要设置Kerberos。

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