首页 文章

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

提问于
浏览
0

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

2 回答

  • 0

    Apache Knox可能是也可能不是你想要的 . 虽然Arnon 's answer above doesn'有正确的网址 . 请参阅:http://knox.apache.org/

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

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

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

    希望这对你有用 .

  • 2

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

    另一个不是代理,而是FileSystem类的替代实现 . 已经实施了几次 - 你可以看到更多的信息here

相关问题