我们如何开发HDFS代理(Hadoop分布式文件系统)

时间:2015-02-09 22:44:56

标签: hadoop proxy hdfs protocol-buffers webhdfs

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

2 个答案:

答案 0 :(得分:2)

Apache Knox可能是也可能不是你想要的。上面的Arnon的回答并没有正确的url。请参阅:http://knox.apache.org/

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

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

因此,在直接访问相同文件时,将无法完成在网关上完成的任何授权检查。这就是我们通常在网关上进行服务级别授权检查并在资源本身进行细粒度授权检查的原因。

希望这对你有用。

答案 1 :(得分:0)

像你提到的WebHDFS的外部(外围)安全性是一回事。你可以扩展它以提交工作等(实际上它已经完成了apache knox

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

相关问题