Hbase-client kerberos 身份验证仅在本地计算机上工作
Posted
技术标签:
【中文标题】Hbase-client kerberos 身份验证仅在本地计算机上工作【英文标题】:Hbase-client kerberos authentication working only on local computer 【发布时间】:2022-01-19 11:43:00 【问题描述】:我开发了一个 spring 应用程序,它使用 hbase-client 2.1.1 通过 keytab 对 kerberized hbase 进行身份验证。
在我的本地计算机上,我可以成功进行身份验证并检索数据,但是当我将其部署到 Wildfly 服务器时,我收到以下错误:
[0m[0m11:58:56,216 INFO [stdout] (ServerService Thread Pool -- 253) Looking for keys for: MYUSER@REAL.COM
[0m[0m11:58:56,217 INFO [stdout] (ServerService Thread Pool -- 253) HBase create connection failed: java.io.IOException: Login failure for MYUSER@REAL.COM from keytab /home/risorse/S0008533/fc.keytab: javax.security.auth.login.LoginException: Unable to obtain password from user
keytab是一样的,路径是正确的,不知道去哪里查看其他日志。
非常感谢任何帮助。
【问题讨论】:
通过 JVM 选项在 java 中启用 kerberos 调试日志:-Dsun.security.krb5.debug=true 【参考方案1】:您能否验证尝试使用 keytab 文件的用户是否可以使用它启动。 (keytab 文件是否有正确的权限?)
以服务器将使用 keytab 的用户身份登录并执行:
kinit -kt /home/risorse/S0008533/fc.keytab MYUSER@REAL.COM
Spring 应用程序用户很可能应该拥有密钥表。这是我经常忘记做的一件很常见的事情。
【讨论】:
非常感谢!问题是所有权。使用 kinit 我看到了一个权限错误,我用 chown 修复了它。以上是关于Hbase-client kerberos 身份验证仅在本地计算机上工作的主要内容,如果未能解决你的问题,请参考以下文章