1

我正在做一个研究项目,我需要为 HDFS 创建某种代理,以便我们可以捕获对 HDFS 的调用并应用一些访问/拒绝(文件)策略,然后再将其返回给用户。对于像 HttpFs 和 WebHDFS 这样的 HDFS 接口,很容易设计代理系统,因为它们使用 HTTP 与客户端通信。但是 HDFS 驱动程序使用使用协议缓冲区定义的协议在客户端和名称节点之间进行通信。HDFS 代码中是否有任何钩子可以围绕 HDFS 本​​机协议设计代理。Hadoop 版本是 2.6。

4

2 回答 2

3

Apache Knox 可能是也可能不是您正在寻找的东西。不过,Arnon 上面的答案没有正确的 url。请参阅: http: //knox.apache.org/

我们没有在提供的授权提供程序中内置文件级 ACL,但您可以创建自定义提供程序并将其插入。

请记住,Knox 是 WebHDFS 访问的代理,不能直接通过 HDFS 访问文件。

因此,在直接访问相同文件时,不会在网关上进行任何授权检查。这就是为什么我们通常在网关处进行服务级别授权检查,而将细粒度的授权检查留给资源本身进行。

希望这对你有用。

于 2015-05-01T00:46:06.123 回答
0

像您提到的 WebHDFS 的外部(外围)安全是一回事。您可以扩展它以提交作业等(实际上它已经完成,请参阅apache knox

另一个这不是代理,而是FileSystem类的替代实现。也已实施多次 - 您可以在此处查看更多信息

于 2015-02-10T04:05:16.473 回答