HDFS主目录

Tap*_*thi 4 hadoop cluster-computing hdfs user-permissions

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

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

我如何在hadoop中为hdfs文件系统做到这一点.我想要例如,如果用户在unix提示符下键入:$ hadoop dfs -ls.它应列出我分配的主目录的内容.

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

Chr*_*ite 7

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

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

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

  • 提交要求新功能的hadoop票 - 请参阅此链接
  • 自己修改源代码并在整个集群中重新构建+重新分发hadoop-core jar(在单节点伪集群中很简单)