Hadoop HDFS主目录
我已经设置了一个单节点多用户hadoop集群。 在我的集群中,有一个管理员用户负责运行集群(超级用户)。所有其他用户都分配了一个hdfs目录,如/home/xyz,其中xyz是用户名 在unix中,我们可以在/etc/passwd中更改用户的默认主目录。默认情况下,用户的登录目录是主目录 如何在hadoop for hdfs文件系统中实现这一点。 例如,如果用户类型为: unix提示符上的$hadoop dfs-ls。 它将列出我分配的主目录的内容Hadoop HDFS主目录,hadoop,cluster-computing,hdfs,user-permissions,Hadoop,Cluster Computing,Hdfs,User Permissions,我已经设置了一个单节点多用户hadoop集群。 在我的集群中,有一个管理员用户负责运行集群(超级用户)。所有其他用户都分配了一个hdfs目录,如/home/xyz,其中xyz是用户名 在unix中,我们可以在/etc/passwd中更改用户的默认主目录。默认情况下,用户的登录目录是主目录 如何在hadoop for hdfs文件系统中实现这一点。 例如,如果用户类型为: unix提示符上的$hadoop dfs-ls。 它将列出我分配的主目录的内容 此外,hdfs目录是由运行集群的超级用户(ha
此外,hdfs目录是由运行集群的超级用户(hadoop超级用户而非unix根用户)创建的,然后将所有权转移给特定用户。我不确定这是可以配置的-的源(第150行)调用了getHomeDirectory,这似乎是硬编码的:
@Override
public Path getHomeDirectory() {
return makeQualified(new Path("/user/" + dfs.ugi.getShortUserName()));
}
如果要更改此设置,您有两种可能的选择:
- 向hadoop提交申请单,要求提供新功能-
- 自己修改源代码,重新构建并在集群中重新分发hadoop核心jar(在单节点伪集群中很简单)
谈到类unix文件(/etc/passwd)设置,我不知道。但是,这真的很有趣。正如chris所说,我们可以添加新功能,例如,引入user-admin-site.xml之类的配置文件,并添加组、用户对目录的权限、主目录等。非常有趣,我们必须尝试一下…嗨,chris,很酷的观察!我将尝试重建我的源代码,但我只是想知道我是否只需要像您提到的那样进行一次更改,或者我可能需要在其他一些函数中进行更改。从hadoop源代码目录执行:
grep“\”/user“*-iRn--include=\*.java
-这将捕获大多数文件,但可能不是所有文件。您可能不必修改所有的单元测试。祝你好运