Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.13.0, 0.13.1, 0.14.0, 1.0.0, 1.1.0, 1.1.1
-
None
Description
- Configure the cluster to use kerberos for HS2 and Metastore.
- Set hive metastore delegation token to org.apache.hadoop.hive.thrift.DBTokenStore in hive-site.xml
<property> <name>hive.cluster.delegation.token.store.class</name> <value>org.apache.hadoop.hive.thrift.DBTokenStore</value> </property>
- Then trying to restart hive service, HS2 fails to start the NPE below:
9:43:10.711 AM ERROR org.apache.hive.service.cli.thrift.ThriftCLIService Error: org.apache.thrift.transport.TTransportException: Failed to start token manager at org.apache.hive.service.auth.HiveAuthFactory.<init>(HiveAuthFactory.java:107) at org.apache.hive.service.cli.thrift.ThriftBinaryCLIService.run(ThriftBinaryCLIService.java:51) at java.lang.Thread.run(Thread.java:745) Caused by: java.io.IOException: Failed to initialize master key at org.apache.hadoop.hive.thrift.TokenStoreDelegationTokenSecretManager.startThreads(TokenStoreDelegationTokenSecretManager.java:223) at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge20S$Server.startDelegationTokenSecretManager(HadoopThriftAuthBridge20S.java:438) at org.apache.hive.service.auth.HiveAuthFactory.<init>(HiveAuthFactory.java:105) ... 2 more Caused by: java.lang.reflect.InvocationTargetException 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:483) at org.apache.hadoop.hive.thrift.TokenStoreDelegationTokenSecretManager.startThreads(TokenStoreDelegationTokenSecretManager.java:221) ... 4 more Caused by: java.lang.NullPointerException at org.apache.hadoop.hive.thrift.DBTokenStore.invokeOnRawStore(DBTokenStore.java:145) at org.apache.hadoop.hive.thrift.DBTokenStore.addMasterKey(DBTokenStore.java:41) at org.apache.hadoop.hive.thrift.TokenStoreDelegationTokenSecretManager.logUpdateMasterKey(TokenStoreDelegationTokenSecretManager.java:203) at org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager.updateCurrentKey(AbstractDelegationTokenSecretManager.java:339) ... 9 more 9:43:10.719 AM INFO org.apache.hive.service.server.HiveServer2 SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down HiveServer2 at a1909.halxg.cloudera.com/10.20.202.109 ************************************************************/
The problem appears that we didn't pass a RawStore object in the following: