Support Questions
Find answers, ask questions, and share your expertise

Hive LLAP Kerberos exception when start

Hive LLAP Kerberos exception when start

New Contributor

Hi all,

 

I'm having issues starting LLAP, it seems that the service is trying to run a keytab that doesn't exist and nowhere to be found.

 

2020-06-20 12:40:56,710 [main] INFO service.ServiceMaster - User before logged in is: hive (auth:SIMPLE)
2020-06-20 12:40:56,717 [main] INFO service.AbstractService - Service Service Master failed in state INITED
org.apache.hadoop.security.KerberosAuthException: failure to login: for principal: hive/bdaphdpmasterprd03.mgmt@BDAP.MGMT from keytab /hadoop/yarn/local/usercache/hive/appcache/application_1592649482357_0001/container_e53_1592649482357_0001_01_000001/keytabs/llap0.keytab javax.security.auth.login.LoginException: Unable to obtain password from user

at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1847)
at org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytabAndReturnUGI(UserGroupInformation.java:1215)
at org.apache.hadoop.security.UserGroupInformation.loginUserFromKeytab(UserGroupInformation.java:1008)
at org.apache.hadoop.yarn.service.ServiceMaster.doSecureLogin(ServiceMaster.java:206)
at org.apache.hadoop.yarn.service.ServiceMaster.serviceInit(ServiceMaster.java:98)
at org.apache.hadoop.service.AbstractService.init(AbstractService.java:164)
at org.apache.hadoop.yarn.service.ServiceMaster.main(ServiceMaster.java:338)
Caused by: javax.security.auth.login.LoginException: Unable to obtain password from user

at com.sun.security.auth.module.Krb5LoginModule.promptForPass(Krb5LoginModule.java:901)
at com.sun.security.auth.module.Krb5LoginModule.attemptAuthentication(Krb5LoginModule.java:764)
at com.sun.security.auth.module.Krb5LoginModule.login(Krb5LoginModule.java:618)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:755)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:195)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:682)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
at javax.security.auth.login.LoginContext.login(LoginContext.java:587)
at org.apache.hadoop.security.UserGroupInformation$HadoopLoginContext.login(UserGroupInformation.java:1926)
at org.apache.hadoop.security.UserGroupInformation.doSubjectLogin(UserGroupInformation.java:1837)
... 6 more
2020-06-20 12:40:56,720 [main] INFO service.ServiceMaster - Stopping app master
2020-06-20 12:40:56,721 [main] ERROR service.ServiceMaster - Error starting service master

 

I really don't know why the service is trying to use the llap0.keytab, which doesn't exist at all on my cluster, instead of using the hive.llap.task.keytab for instance. 

 

Is there a way of configuring which keytab should the LLAP service use? 

 

Please help me with this, this is a very annoying issue and I've run out of solutions so far.

 

Best regards