我正在尝试将kerberos keytab身份验证从java迁移到Hive,而不是找到解决方案来解决问题。
org.apache.hadoop.conf.Configuration conf = new
org.apache.hadoop.conf.Configuration();
conf.set("hadoop.security.authentication", "kerberos");
conf.set(HiveClientFactory.HIVE_METASTORE_URIS,"thrift://{URL}");
UserGroupInformation.setConfiguration(conf);
UserGroupInformation.loginUserFromKeytab(krbPrincipal, keyTabPath);
java.io.IOException:从keytab登录{krbPrincipal}失败 {keyTabPath} at org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytab(UserGroupInformation.java:855)
引起:javax.security.auth.login.LoginException:无法获取 来自用户的密码
在 com.sun.security.auth.module.Krb5LoginModule.promptForPass(Krb5LoginModule.java:789) 在 com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:654)
我非常感谢有助于解决此问题的一些见解。