【发布时间】:2018-09-07 14:26:57
【问题描述】:
在 Hadoop HDFS 中,当您启用 ACL 时,我发现最大 ACL 条目设置为 32。我在 org/apache/hadoop/hdfs/server/namenode/AclTransformation.java 中获得了源代码:
私有静态最终 int MAX_ENTRIES = 32;
这样做的依据是什么?有哪些考虑? 我们可以将 32 更改为另一个更大的数字吗?我想重新配置它。
【问题讨论】:
在 Hadoop HDFS 中,当您启用 ACL 时,我发现最大 ACL 条目设置为 32。我在 org/apache/hadoop/hdfs/server/namenode/AclTransformation.java 中获得了源代码:
私有静态最终 int MAX_ENTRIES = 32;
这样做的依据是什么?有哪些考虑? 我们可以将 32 更改为另一个更大的数字吗?我想重新配置它。
【问题讨论】:
ACL 在 HDFS-4685 中实现 - HDFS 中 ACL 的实现。
据我所知,没有关于 32 限制的设计决定。但是,由于大多数 Hadoop 系统在 Linux 上运行,并且此功能受到 Linux ACL 的启发,因此该值很可能是从 ext3 的限制中借来的如中所述 POSIX Access Control Lists on Linux Andreas Grünbacher。
文章继续提到,过多的 ACL 会产生问题,并且还显示了启用 ACL 时引入的性能差异(请参阅标题为“EA 和 ACL 性能”的部分)。
【讨论】: