0

我已将 milton webdav 与 hadoop hdfs 集成,并且能够将文件读/写到 hdfs 集群。

我还使用 linux 文件权限添加了授权部分,因此只有授权用户才能访问 hdfs 服务器,但是,我被困在了身份验证部分。

似乎 hadoop 没有提供任何内置身份验证,并且用户只能通过 unix 'whoami' 识别,这意味着我无法为特定用户启用密码。参考:http ://hadoop.apache.org/common/docs/r1.0.3/hdfs_permissions_guide.html 所以即使我创建一个新用户并为其设置权限,也无法识别用户是否经过身份验证. 具有相同用户名和不同密码的两个用户可以访问该用户名的所有资源。

我想知道是否有任何方法可以在 hdfs 中启用用户身份验证(任何新的 hadoop 版本中的固有或使用 kerbores 等第三方工具)

编辑:

好的,我已经检查过了,似乎 kerberos 可能是一个选项,但我只想知道是否还有其他可用于身份验证的替代方法。

谢谢,-chhavi

4

1 回答 1

0

目前,kerberos 是唯一受支持的“真实”身份验证协议。“简单”协议完全信任客户端的 whois 信息。

要设置 kerberos 身份验证,我建议使用此指南:https ://ccp.cloudera.com/display/CDH4DOC/Configuring+Hadoop+Security+in+CDH4

msktutil是在 linux 中创建 kerberos 密钥表的好工具:https ://fuhm.net/software/msktutil/

创建服务主体时,请确保您有正确的 DNS 设置,即如果您有一个名为“host1.yourdomain.com”的服务器,并且它解析为 IP 1.2.3.4,那么该 IP 应该反过来解析回 host1.yourdomain。 com。

另请注意,kerberos 协商身份验证标头可能大于 Jetty 的内置标头大小限制,在这种情况下您需要修改并org.apache.hadoop.http.HttpServer添加ret.setHeaderBufferSize(16*1024);. createDefaultChannelConnector()我不得不。

于 2012-09-24T21:38:16.583 回答