【问题标题】:Authenticating to Kerberos enabled Hadoop Cluster Using Java使用 Java 对启用 Kerberos 的 Hadoop 集群进行身份验证
【发布时间】:2015-11-02 10:41:31
【问题描述】:

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

我有keytab 文件和用户名。

有人可以建议我如何使用 Java 代码对 Kerberos 进行身份验证吗?

谢谢。

【问题讨论】:

    标签: java hadoop hdfs kerberos


    【解决方案1】:

    如果您只想将 HDFS Java API 用于短期连接,那么UserGroupInformation 有一个loginUserFromKeytab 方法。

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

    如果您对 Kerberos 的阴暗面感兴趣(好吧,反正没有其他方面) 那么请查看"Madness beyond the Gate" 在线书籍——风险自负。 p>

    ~~~~~~

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

    【讨论】:

    • 如果答案有帮助,那么您可以将其标记为“已接受”:-)
    猜你喜欢
    • 2015-05-23
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 2019-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多