3

我试图让 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:来自 org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytab(UserGroupInformation.java:855) 的 keytab {keyTabPath} 的 {krbPrincipal} 登录失败

原因: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)

我真的很感激一些洞察力来帮助解决这个问题。

4

0 回答 0