HDFS主目录

时间:2012-04-09 06:07:04

标签: hadoop cluster-computing hdfs user-permissions

我已经设置了单节点多用户hadoop集群。 在我的群集中,有一个管理员用户负责运行群集(超级用户)。所有其他用户都分配了一个hdfs目录,如/ home / xyz,其中xyz是用户名。

在unix中,我们可以在/ etc / passwd中更改用户的默认主目录。默认情况下,用户的登录目录是主目录。

如何在hadoop中为hdfs文件系统执行此操作。 我想要例如,如果用户类型: unix提示符下的$ hadoop dfs -ls。 它应列出我分配的主目录的内容。

此外,hdfs目录由运行集群的超级用户(hadoop超级用户而不是unix root)创建,然后将所有权转移给特定用户。

2 个答案:

答案 0 :(得分:7)

我不确定这是否可以配置 - DistributedFileSystem(第150行)的来源调用似乎是硬编码的getHomeDirectory:

@Override
public Path getHomeDirectory() {
  return makeQualified(new Path("/user/" + dfs.ugi.getShortUserName()));
}

如果您希望能够更改此选项,您有两种可能的选择:

  • 提交一张票给hadoop,要求提供新功能 - See this link
  • 自行修改源代码并重新构建并重新分发整个群集中的hadoop-core jar(在单节点伪群集中很简单)

答案 1 :(得分:1)

tapan,每个用户在HDFS中都有一个位于/ user / username的“home”目录。例如,如果键入hadoop fs -ls,它将显示当前的HDFS用户目录。我和两个用户一起检查了它。

像文件(/ etc / passwd)设置一样unix,我不知道。但是,它真的很有趣。正如克里斯所说,我们可以添加新的功能,例如,引入user-admin-site.xml之类的配置文件并添加组,用户对目录,主目录等的权限。真的在进行中,我们试试这个......

相关问题