hadoop - 我需要在哪里创建 HDFS 用户?

标签 hadoop hdfs

我必须为需要在 HDFS 上存储数据的应用程序创建一个帐户。 我知道要在 HDFS 上创建用户(我使用的是 HDP 2.3),我必须执行这些命令:

useradd -G *groupname* *username*
hdfs dfs -mkdir /user/*username*
hdfs dfs -chown *username*:*groupname* /user/*username*

我的问题是: 我知道当我在 HDFS 上创建一个文件夹时,它不会在所有集群上复制,只有数据分布在所有数据节点上。 我是要在集群的每个节点 (namenode+datanode+edgenode) 上执行这些命令,还是只在应用程序用来访问 HDFS 的节点(在我的例子中是边缘节点)上执行这些命令?

谢谢。

最佳答案

您可能知道只有元数据存储在名称节点上,数据存储在数据节点上。

useradd -G <groupname> <username>
hdfs dfs -mkdir /user/<username>
hdfs dfs -chown <username>:<groupname> /user/<username>

以上命令是元数据的一部分,因此这些信息将存储在Name节点上。因此,您需要在集群的边缘节点上执行上述命令,并将上述命令生成的元数据存储在 Name 节点上。

只有当数据存储发生时,Data 节点才会出现。

结论:只需在集群的边缘节点上执行上述命令即可。

关于hadoop - 我需要在哪里创建 HDFS 用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37272796/

相关文章:

java - Jobtracker API 错误 - 调用 localhost/127.0.0.1 :50030 failed on local exception: java. io.EOFException

python - Hadoop获得了Expected JSON。是否启用了WebHDFS?得到了 ''

windows - 在 yarn cluster (linux) : Error no sheme for Filesystem "C" 上从客户端 (windows) 执行 spark

sql - 如何在 Presto/Hive 中将日期格式 YYYY-MM-DD 转换为整数 YYYYMMDD?

hadoop - 如何删除上个月的 hdfs 文件?

hadoop - 让 Hadoop 以 Kerberos 用户身份运行

java - 如何仅使用Cassandra节点存储引擎?

hadoop - MapReduce随机/排序方法

java - 使用JAVA从HDFS中的一个目录复制到HDFS中的另一个目录

hadoop - 使用Julia语言将文件复制到HDFS