0
我擁有Kerberos並啓用了Hadoop集羣。我需要使用Java代碼執行HDFS操作。使用Java對啓用了Kerberos的Hadoop集羣進行身份驗證
我有keytab
文件和用戶名。
有人可以請建議我如何使用Java代碼驗證Kerberos?
謝謝。
我擁有Kerberos並啓用了Hadoop集羣。我需要使用Java代碼執行HDFS操作。使用Java對啓用了Kerberos的Hadoop集羣進行身份驗證
我有keytab
文件和用戶名。
有人可以請建議我如何使用Java代碼驗證Kerberos?
謝謝。
如果您只想使用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庫都將能夠使用該令牌處理文件操作。
謝謝參孫工作 –
如果答案是有幫助的,那麼你可以將其標記爲「接受」:-) –