【发布时间】:2019-12-10 15:28:36
【问题描述】:
在 MapR hadoop 中,为了让用户能够访问 HDFS 或将 YARN 用于程序,它们需要存在于集群中的所有节点(具有相同的 uid 和 gid),这包括既不充当数据节点也不充当控制节点的客户端节点(MapR 并没有真正的名称节点的概念)。 Hortonworks HDP 也一样吗?
【问题讨论】:
在 MapR hadoop 中,为了让用户能够访问 HDFS 或将 YARN 用于程序,它们需要存在于集群中的所有节点(具有相同的 uid 和 gid),这包括既不充当数据节点也不充当控制节点的客户端节点(MapR 并没有真正的名称节点的概念)。 Hortonworks HDP 也一样吗?
【问题讨论】:
在 Hortonworks community 网站上找到了这个答案:
用户不应在集群的所有节点上拥有帐户。他应该只在边缘节点上拥有帐户。
对于新用户,我们需要在用户访问集群之前创建两种类型的目录。
1- 用户主目录 [在 Linux 文件系统上创建的目录,即。 /home/]
2- 用户 HDFS 目录 [在 HDFS 文件系统上创建的目录,即。 /用户/]
...您只需要创建 HDFS 主目录[即。 /user/] 在边缘节点上[不确定这里的含义,因为 HDFS 似乎与任何特定的边缘节点没有任何关系]。 即使您尚未在 linux 中创建新用户的主目录,您仍然可以在集群上使用新用户运行作业。
** 更新: 根据用户 @cricket_007 的 cmets,看来 该用户也必须存在于 namenode 服务器上。我能找到的最接近明确说明says的文档:
每个文件或目录操作都将完整路径名传递给 NameNode,并且权限检查沿每个操作的路径应用。客户端框架会将用户身份与 NameNode 的连接隐式关联起来,从而减少对现有客户端 API 进行更改的需要。 [...] 例如,当客户端第一次开始读取文件时,它会向 NameNode 发出第一个请求,以发现文件第一个块的位置。
【讨论】: