对Kerberos进行身份验证,使用Java启用了Hadoop集群

时间:2015-11-02 10:41:31

标签: java hadoop hdfs kerberos

我有Kerberos并启用了Hadoop集群。我需要使用Java代码执行HDFS操作。

我有keytab个文件和用户名。

有人可以建议我如何使用Java代码验证Kerberos?

感谢。

1 个答案:

答案 0 :(得分:0)

如果您只想使用 HDFS Java API 进行短期连接,则UserGroupInformation会使用loginUserFromKeytab方法。

如果您想要持久连接(即长于初始Kerberos TGT的生命周期),请查看that post

如果您对Kerberos 的黑暗面感兴趣(好吧,无论如何没有其他方面)那么请查看"Madness beyond the Gate"在线图书 - 风险自负。

~~~~~~

BTW还有Java API的替代方案: WebHDFS REST服务。但是在Windows上你仍然需要一些Java代码来创建Kerberos TGT (使用GSSAPI,即Linux方式,而不是SSPI,即Microsoft方式!!!),运行SPNEGO初始身份验证,并检索委派令牌。此时,任何HTTPS库都能够使用该令牌处理文件操作。