hadoop 提供了一个代理用户, 可以让其他用户以该代理用户进行hdfs 权限操作

在 core-site.xml 中配置

<property>
  <name>hadoop.proxyuser.hadoop.hosts</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.hadoop.groups</name>
 <value>hadoop</value>
</property>

这里的意思是, 用户hadoop 可以代理任意机器上的 hadoop 组的用户,相当于,这些机器上的 hadoop 组用户可以通过 hadoop 用户来操作 hdfs

此时, 举例子相当于我们使用 机器A 上的 hadoop:apache 用户 提交任务, 使用代理 hadoop 来操作执行,最终的结果会放到 hdfs:/user/apache 下

配置完成之后无需重启集群, 执行以下命令即可

hdfs dfsadmin -refreshSuperUserGroupsConfiguration
yarn rmadmin -refreshSuperUserGroupsConfiguration