将 MR 作业提交到具有不同 ID 的 Hadoop 集群

Submitting MR job to Hadoop cluster with different ID's

将 MR 作业提交到 hadoop 集群的最佳方式是什么?

场景:

开发人员有自己的 ID,例如dev-user1, dev-user2 等

Hadoop 集群具有各种组件的各种 ID,例如 HDFS 的 hdfs 用户、YARN 的纱线等。

这意味着 dev-user1 无法读取/写入 HDFS,因为它是可以访问 HDFS 的 hdfs id。

谁能帮助我了解开发人员向 hadoop 集群提交作业的最佳实践是什么?我不想与任何人分享 hadoop "specific" id 详细信息。

它在现实生活场景中是如何工作的。

best practice in which a developer can submit a job to hadoop cluster?

取决于工作...yarn jar 将用于 MapReduce

This means dev-user1 can't read / write HDFS as it is hdfs id that has access to HDFS.

并非所有内容都归 hdfs 用户所有。您需要让该用户拥有 /user/dev-user1 HDFS 目录,以便用户拥有 "private" space。您仍然可以在 HDFS 上的其他任何地方创建一个目录,供多个用户写入。

并且仅当您在 HDFS 上明确启用它们时才会检查权限...即使您这样做了,您仍然可以将两个用户放入同一个 POSIX 组,或者使目录全局可写所有。

https://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/HdfsPermissionsGuide.html

在生产级集群中,Hadoop 由 Kerberos 凭据保护,ACL 通过 Apache Ranger 或 Sentry 管理,它们都允许 fine-grained 权限管理