如何更改 hdfs 用户的 HDFS 用户主目录?

Posted

技术标签:

【中文标题】如何更改 hdfs 用户的 HDFS 用户主目录?【英文标题】:How to change the HDFS user home directory of the hdfs user? 【发布时间】:2014-10-10 11:27:41 【问题描述】:

根据我在 Hadoop HDFS 上的实践,我了解到在创建用户说 u1 并尝试将文件从本地文件系统放入 HDFS 时,它会搜索目录 /user/u1(默认情况下),并具有写入权限HDFS 文件系统。

默认情况下,所有用户都在 HDFS 上的/user 目录中搜索他们的(HDFS 主)目录。我的疑问是我能否将默认的 HDFS 主目录更改为 /user 目录。

也有可能为不同用户的 HDFS 主目录设置不同的位置,就像我们在 Linux 用户的情况下所做的那样,即对于user1,HDFS 主目录应该是/home1/user1,对于 *user2,HDFS主目录应为/home2/user2.

如果我的假设是错误的,请纠正我。

【问题讨论】:

HDFS Home Directory 的可能重复项 Sonic,你能给我一个链接,其中有一步一步的过程来重建源代码,以便按照***.com/questions/10069568/hdfs-home-directory中的建议进行所需的更改 看看这个 Eclipse 设置 wiki.apache.org/hadoop/EclipseEnvironment wiki.apache.org/hadoop/HowToSetupYourDevelopmentEnvironment 【参考方案1】:

当我们使用不同的用户登录hue时,它会显示不同的路径。就像“hdfs”用户登录路径是“/user/hdfs”。因此,如果您知道用户信息,您可以自己控制它,例如为用户创建目录:“/user/username”

【讨论】:

【参考方案2】:

为您的 HDFS CLI 命令运行的 hadoop-env.sh 脚本将始终为非 Kerberized 集群选择 HADOOP_USER_NAME

因此,如果您是用户foo,并且您将export HADOOP_USER_NAME=bar 添加到您的.bashrc 中,并且添加了hdfs dfs -ls,那么它将在HDFS 上搜索/user/bar

您还可以在运行时“成为”任何 HDFS 用户并像 HADOOP_USER_NAME=hdfs hdfs dfs -rm -R -f -skipTrash / 那样擦除所有 HDFS

【讨论】:

以上是关于如何更改 hdfs 用户的 HDFS 用户主目录?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改sqoop导入临时目录

如何在pyspark中更改DataFrame的hdfs块大小

如何使用python找到真正的用户主目录?

HDFS的快照讲解

如何判断hdfs(hadoop)上的路径是文件还是目录。

如何使用Java API访问HDFS为目录设置配额