我必须为需要在 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/