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

Hadoop 我需要在哪里创建HDFS用户?,hadoop,hdfs,Hadoop,Hdfs,我必须为需要在HDFS上存储数据的应用程序创建一个帐户。 我知道要在HDFS上创建用户(我使用的是HDP2.3),我必须执行以下命令: useradd -G *groupname* *username* hdfs dfs -mkdir /user/*username* hdfs dfs -chown *username*:*groupname* /user/*username* 我的问题是: 我知道,当我在HDFS上创建一个文件夹时,它不会在所有集群上复制,只有数据分布在所有数据节点上。 我必

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

useradd -G *groupname* *username*
hdfs dfs -mkdir /user/*username*
hdfs dfs -chown *username*:*groupname* /user/*username*
我的问题是: 我知道,当我在HDFS上创建一个文件夹时,它不会在所有集群上复制,只有数据分布在所有数据节点上。 我必须在集群的每个节点(namenode+datanode+edgenode)上执行这些命令,还是只在应用程序用来访问HDFS的节点(在我的例子中是边缘节点)上执行这些命令


谢谢。

每当客户端想要存储或处理存储在HDFS上的数据时,NN将首先检查它是否有权访问该数据。根据访问级别,用户将访问数据


您不必在每个DN上运行上述命令。访问将在NN本身进行检查,并根据用户类型,可访问数据。您只能在NN上运行这些命令,之后NN将负责。

每当客户端想要存储或处理存储在HDFS上的数据时,NN将首先检查它是否有权访问该数据。根据访问级别,用户将访问数据


您不必在每个DN上运行上述命令。访问将在NN本身进行检查,并根据用户类型,可访问数据。您可以仅在NN上运行命令,NN将在之后处理。

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

useradd -G <groupname> <username>
hdfs dfs -mkdir /user/<username>
hdfs dfs -chown <username>:<groupname> /user/<username>
useradd-G
hdfs dfs-mkdir/用户/
hdfs dfs-chown:/user/
上述命令是元数据的一部分,因此这些信息将存储在名称节点上。因此,您需要在集群的边缘节点上执行上述命令,由上述命令生成的元数据将存储在名称节点上

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


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

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

useradd -G <groupname> <username>
hdfs dfs -mkdir /user/<username>
hdfs dfs -chown <username>:<groupname> /user/<username>
useradd-G
hdfs dfs-mkdir/用户/
hdfs dfs-chown:/user/
上述命令是元数据的一部分,因此这些信息将存储在名称节点上。因此,您需要在集群的边缘节点上执行上述命令,由上述命令生成的元数据将存储在名称节点上

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


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

我通常必须使用超级用户来执行:
sudo-u hdfs hdfs dfs-mkdir/user/
我通常必须使用超级用户来执行:
sudo-u hdfs hdfs dfs-mkdir/user/