SupportKB
Problem Description:
After upgrading to HDP 3.0, the HiveServer2 fails to start and the following error is displayed in the HiveServer2 logs:
- WARN [main]: metastore.RetryingMetaStoreClient (:()) -
- MetaStoreClient lost connection. Attempting to reconnect (1 of 24) after 5s. getCurrentNotificationEventId
- org.apache.thrift.TApplicationException: Internal error processing get_current_notificationEventId
- at org.apache.thrift.TApplicationException.read(TApplicationException.java:111)
- ~[hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:79)
- ~[hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_current_notificationEventId
- (ThriftHiveMetastore.java:5575) ~[hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_current_notificationEventId
- (ThriftHiveMetastore.java:5563) ~[hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.getCurrentNotificationEventId
- (HiveMetaStoreClient.java:2723) ~[hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_112]
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_112]
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_112]
- at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_112]
- at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:212)
- ~[hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at com.sun.proxy.$Proxy40.getCurrentNotificationEventId(Unknown Source) ~[?:?]
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_112]
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_112]
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_112]
- at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_112]
- at org.apache.hadoop.hive.metastore.HiveMetaStoreClient$SynchronizedHandler.invoke
- (HiveMetaStoreClient.java:2773) ~[hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at com.sun.proxy.$Proxy40.getCurrentNotificationEventId(Unknown Source) ~[?:?]
- at org.apache.hadoop.hive.metastore.messaging.EventUtils$MSClientNotificationFetcher.
- getCurrentNotificationEventId(EventUtils.java:73)
- ~[hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.hadoop.hive.ql.metadata.events.NotificationEventPoll.<init>
- (NotificationEventPoll.java:103)
- ~[hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.hadoop.hive.ql.metadata.events.NotificationEventPoll.initialize
- (NotificationEventPoll.java:59)
- ~[hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.hive.service.server.HiveServer2.init(HiveServer2.java:275)
- ~[hive-service-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.hive.service.server.HiveServer2.startHiveServer2(HiveServer2.java:1063)
- ~[hive-service-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.hive.service.server.HiveServer2.access$1600(HiveServer2.java:140)
- ~[hive-service-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.hive.service.server.HiveServer2$StartOptionExecutor.execute(HiveServer2.java:1332)
- ~[hive-service-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.hive.service.server.HiveServer2.main(HiveServer2.java:1176)
- ~[hive-service-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_112]
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
- ~[?:1.8.0_112]
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_112]
- at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_112]
- at org.apache.hadoop.util.RunJar.run(RunJar.java:318) ~[hadoop-common-3.1.0.3.0.0.0-1634.jar:?]
- at org.apache.hadoop.util.RunJar.main(RunJar.java:232) ~[hadoop-common-3.1.0.3.0.0.0-1634.jar:?]
In hive-metastore.log, the following message is displayed at the same timeline:
- ERROR [pool-6-thread-200]: metastore.HiveMetaStore (HiveMetaStore.java:get_current_notificationEventId(7617))
- - Not authorized to make the get_current_notificationEventId call.
- You can try to disable metastore.metastore.event.db.notification.api.auth
- org.apache.hadoop.hive.metastore.api.MetaException: User hive is not allowed to perform this API call
- at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.authorizeProxyPrivilege
- (HiveMetaStore.java:7655)
- ~[hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.get_current_notificationEventId(HiveMetaStore.java:7615)
- [hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source) ~[?:?]
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
- ~[?:1.8.0_112]
- at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_112]
- at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invokeInternal(RetryingHMSHandler.java:147)
- [hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:108)
- [hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at com.sun.proxy.$Proxy34.get_current_notificationEventId(Unknown Source) [?:?]
- at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Processor$get_current_notificationEventId.getResult
- (ThriftHiveMetastore.java:18364)
- [hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Processor$get_current_notificationEventId.getResult
- (ThriftHiveMetastore.java:18349) [hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
- [hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.hadoop.hive.metastore.TUGIBasedProcessor$1.run(TUGIBasedProcessor.java:111)
- [hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.hadoop.hive.metastore.TUGIBasedProcessor$1.run(TUGIBasedProcessor.java:107)
- [hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at java.security.AccessController.doPrivileged(Native Method) [?:1.8.0_112]
- at javax.security.auth.Subject.doAs(Subject.java:422) [?:1.8.0_112]
- at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1688)
- [hadoop-common-3.1.0.3.0.0.0-1634.jar:?]
- at org.apache.hadoop.hive.metastore.TUGIBasedProcessor.process(TUGIBasedProcessor.java:119)
- [hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
- [hive-exec-3.1.0.3.0.0.0-1634.jar:3.1.0.3.0.0.0-1634]
- at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
- [?:1.8.0_112]
- at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
- [?:1.8.0_112]
- at java.lang.Thread.run(Thread.java:745) [?:1.8.0_112]
Cause:
The connection to Metastore from HiveServer2 fails after upgrading the cluster when hive.metastore.event.db.notification.api.auth property is set to true.
Solution:
This is a known issue (HIVE-19740).
Workaround In HDFS > Configs > Custom core-site.xml, add the following:
- hadoop.proxyuser.hive.hosts=HS2_HOST
- hadoop.proxyuser.hive.groups=*
Or
In Hive > Configs > Custom hive-site.xml, add the following:
- hive.metastore.event.db.notification.api.auth=false
Restart the required services.
For more details about this property, see HiveReplicationv2Development
About:
This article created by Hortonworks Support (Article: 000007703) on 2018-08-06 07:32
OS: All
Type: Cluster_Administration
Version: H3.0.0