如何为hdfs(hadoop分布式文件系统)开发代理

8e2ybdfx  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(412)

我正在做一个研究项目,我需要为hdfs创建某种代理,这样我们就可以捕获对hdfs的调用,并在将其返回给用户之前应用一些访问/拒绝(文件)策略。对于httpfs和webhdfs这样的hdf接口,很容易设计代理系统,因为它们使用http与客户机通信。但hdfs驱动程序使用协议缓冲区定义的协议在客户机和namenode之间进行通信。hdfs代码中是否有钩子来围绕hdfs本机协议设计代理。hadoop版本是2.6。

p4rjhz4m

p4rjhz4m1#

apacheknox可能是也可能不是你想要的。阿农的答案上面没有正确的网址,虽然。请看:http://knox.apache.org/
我们没有为提供的授权提供程序内置文件级ACL,但您可以创建自定义提供程序并将其插入。
请记住,knox是webhdfs访问的代理,不适用于直接通过hdfs访问文件。
因此,当直接访问相同的文件时,在网关上执行的任何授权检查都不会执行。这就是为什么我们通常在网关上进行服务级别授权检查,而将细粒度授权检查留在资源本身上进行的原因。
希望这对你有用。

nvbavucw

nvbavucw2#

像您提到的webhdfs的外部(外围)安全是一回事。您可以将其扩展为提交作业等(实际上已经完成了,请参阅apacheknox)
另一个不是代理,而是文件系统类的替代实现。is也已经实现了好几次—您可以在这里看到更多信息

相关问题