繁体   English   中英

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

[英]How can we develop a proxy for HDFS ( Hadoop Distributed File System)

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

Apache Knox可能是您想要的,也可能不是。 上面Arnon的答案没有正确的网址。 请参阅: http//knox.apache.org/

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

请记住,Knox是WebHDFS访问的代理,对于直接通过HDFS访问文件不起作用。

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

希望这对您有用。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM