You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Aihua Xu (JIRA)" <ji...@apache.org> on 2015/02/09 19:45:36 UTC

[jira] [Updated] (HIVE-9622) Getting NPE when trying to restart HS2 when metastore is configured to use org.apache.hadoop.hive.thrift.DBTokenStore

     [ https://issues.apache.org/jira/browse/HIVE-9622?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aihua Xu updated HIVE-9622:
---------------------------
    Description: 
# Configure the cluster to use kerberos for HS2 and Metastore.
##http://www.cloudera.com/content/cloudera/en/documentation/cdh4/v4-3-0/CDH4-Security-Guide/cdh4sg_topic_9_1.html

##http://www.cloudera.com/content/cloudera/en/documentation/cdh4/v4-6-0/CDH4-Security-Guide/cdh4sg_topic_9_2.html

# Set hive metastore delegation token to org.apache.hadoop.hive.thrift.DBTokenStore in hive-site.xml

{code}
<property>
     <name>hive.cluster.delegation.token.store.class</name>
     <value>org.apache.hadoop.hive.thrift.DBTokenStore</value>
   </property>
{code}

#then trying to restart hive service, HS2 fails to start the NPE below: 
{code}
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
************************************************************/
{code}

The problem appears that we didn't pass a {{RawStore}} object in the following:

https://github.com/apache/hive/blob/trunk/service/src/java/org/apache/hive/service/auth/HiveAuthFactory.java#L111

  was:
# Configure the cluster to use kerberos for HS2 and Metastore.
http://www.cloudera.com/content/cloudera/en/documentation/cdh4/v4-3-0/CDH4-Security-Guide/cdh4sg_topic_9_1.html

http://www.cloudera.com/content/cloudera/en/documentation/cdh4/v4-6-0/CDH4-Security-Guide/cdh4sg_topic_9_2.html

# Set hive metastore delegation token to org.apache.hadoop.hive.thrift.DBTokenStore in hive-site.xml

{code}
<property>
     <name>hive.cluster.delegation.token.store.class</name>
     <value>org.apache.hadoop.hive.thrift.DBTokenStore</value>
   </property>
{code}

#then trying to restart hive service, HS2 fails to start the NPE below: 
{code}
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
************************************************************/
{code}

The problem appears that we didn't pass a {{RawStore}} object in the following:

https://github.com/apache/hive/blob/trunk/service/src/java/org/apache/hive/service/auth/HiveAuthFactory.java#L111


> Getting NPE when trying to restart HS2 when metastore is configured to use org.apache.hadoop.hive.thrift.DBTokenStore
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-9622
>                 URL: https://issues.apache.org/jira/browse/HIVE-9622
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Aihua Xu
>              Labels: HiveServer2, Security
>
> # Configure the cluster to use kerberos for HS2 and Metastore.
> ##http://www.cloudera.com/content/cloudera/en/documentation/cdh4/v4-3-0/CDH4-Security-Guide/cdh4sg_topic_9_1.html
> ##http://www.cloudera.com/content/cloudera/en/documentation/cdh4/v4-6-0/CDH4-Security-Guide/cdh4sg_topic_9_2.html
> # Set hive metastore delegation token to org.apache.hadoop.hive.thrift.DBTokenStore in hive-site.xml
> {code}
> <property>
>      <name>hive.cluster.delegation.token.store.class</name>
>      <value>org.apache.hadoop.hive.thrift.DBTokenStore</value>
>    </property>
> {code}
> #then trying to restart hive service, HS2 fails to start the NPE below: 
> {code}
> 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
> ************************************************************/
> {code}
> The problem appears that we didn't pass a {{RawStore}} object in the following:
> https://github.com/apache/hive/blob/trunk/service/src/java/org/apache/hive/service/auth/HiveAuthFactory.java#L111



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)