hive 1.6.0 in embed mode doesn't connect to metastore --
https://issues.apache.org/jira/browse/SPARK-9686

https://forums.databricks.com/questions/6512/spark-160-not-able-to-connect-to-hive-metastore.html


On Wed, Mar 9, 2016 at 10:48 AM, Suniti Singh <suniti.si...@gmail.com>
wrote:

> Hi,
>
> I am able to reproduce this error only when using spark 1.6.0 and hive
> 1.6.0. The hive-site.xml is in the classpath but somehow spark rejects the
> classpath search for hive-site.xml and start using the default metastore
> Derby.
>
> 16/03/09 10:37:52 INFO MetaStoreDirectSql: Using direct SQL, underlying DB
> is DERBY
>
> 16/03/09 10:37:52 INFO ObjectStore: Initialized ObjectStore
>
> 16/03/09 10:37:52 WARN Hive: Failed to access metastore. This class should
> not accessed in runtime.
>
> org.apache.hadoop.hive.ql.metadata.HiveException:
> java.lang.RuntimeException: Unable to instantiate
> org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
>
> at org.apache.hadoop.hive.ql.metadata.Hive.getAllDatabases(Hive.java:1236)
>
> at org.apache.hadoop.hive.ql.metadata.Hive.reloadFunctions(Hive.java:174)
>
> at org.apache.hadoop.hive.ql.metadata.Hive.<clinit>(Hive.java:166)
>
> at org.apache.hadoop.hive.ql.session.SessionState.start(
> SessionState.java:503)
> at org.apache.spark.sql.hive.client.ClientWrapper.<init>(
> ClientWrapper.scala:194)
>
> On Wed, Mar 9, 2016 at 9:00 AM, Dave Maughan <davidamaug...@gmail.com>
> wrote:
>
>> Hi,
>>
>> We're having a similar issue. We have a standalone cluster running 1.5.2
>> with Hive working fine having dropped hive-site.xml into the conf folder.
>> We've just updated to 1.6.0, using the same configuration. Now when
>> starting a spark-shell we get the following:
>>
>> java.lang.RuntimeException: java.lang.RuntimeException: Unable to
>> instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreCli
>> ent
>>         at
>> org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522)
>>         at
>> org.apache.spark.sql.hive.client.ClientWrapper.<init>(ClientWrapper.scala:194)
>>         at
>> org.apache.spark.sql.hive.client.IsolatedClientLoader.createClient(IsolatedClientLoader.scala:238)
>>         at
>> org.apache.spark.sql.hive.HiveContext.executionHive$lzycompute(HiveContext.scala:218)
>>         at
>> org.apache.spark.sql.hive.HiveContext.executionHive(HiveContext.scala:208)
>>         at
>> org.apache.spark.sql.hive.HiveContext.functionRegistry$lzycompute(HiveContext.scala:462)
>>         at
>> org.apache.spark.sql.hive.HiveContext.functionRegistry(HiveContext.scala:461)
>>         at
>> org.apache.spark.sql.UDFRegistration.<init>(UDFRegistration.scala:40)
>>         at org.apache.spark.sql.SQLContext.<init>(SQLContext.scala:330)
>>         at
>> org.apache.spark.sql.hive.HiveContext.<init>(HiveContext.scala:90)
>>         at
>> org.apache.spark.sql.hive.HiveContext.<init>(HiveContext.scala:101)
>>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>> Method)
>>         at
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>>         at
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>         at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
>>         at
>> org.apache.spark.repl.SparkILoop.createSQLContext(SparkILoop.scala:1028)
>>         at $iwC$$iwC.<init>(<console>:15)
>>         at $iwC.<init>(<console>:24)
>>         at <init>(<console>:26)
>>
>> On stepping though the code and enabling debug it shows that
>> hive.metastore.uris is not set:
>>
>> DEBUG ClientWrapper: Hive Config: hive.metastore.uris=
>>
>> ..So it looks like it's not finding hive-site.xml? Weirdly, if I remove
>> hive-site.xml the exception does not occur which implies that it WAS on the
>> classpath...
>>
>> Dave
>>
>>
>>
>> On Tue, 9 Feb 2016 at 22:26 Koert Kuipers <ko...@tresata.com> wrote:
>>
>>> i do not have phoenix, but i wonder if its something related. will check
>>> my classpaths
>>>
>>> On Tue, Feb 9, 2016 at 5:00 PM, Benjamin Kim <bbuil...@gmail.com> wrote:
>>>
>>>> I got the same problem when I added the Phoenix plugin jar in the
>>>> driver and executor extra classpaths. Do you have those set too?
>>>>
>>>
>>>> On Feb 9, 2016, at 1:12 PM, Koert Kuipers <ko...@tresata.com> wrote:
>>>>
>>>> yes its not using derby i think: i can see the tables in my actual hive
>>>> metastore.
>>>>
>>>> i was using a symlink to /etc/hive/conf/hive-site.xml for my
>>>> hive-site.xml which has a lot more stuff than just hive.metastore.uris
>>>>
>>>> let me try your approach
>>>>
>>>>
>>>>
>>>> On Tue, Feb 9, 2016 at 3:57 PM, Alexandr Dzhagriev <dzh...@gmail.com>
>>>> wrote:
>>>>
>>>>> I'm using spark 1.6.0, hive 1.2.1 and there is just one property in
>>>>> the hive-site.xml hive.metastore.uris Works for me. Can you check in
>>>>> the logs, that when the HiveContext is created it connects to the correct
>>>>> uri and doesn't use derby.
>>>>>
>>>>> Cheers, Alex.
>>>>>
>>>>> On Tue, Feb 9, 2016 at 9:39 PM, Koert Kuipers <ko...@tresata.com>
>>>>> wrote:
>>>>>
>>>>>> hey thanks. hive-site is on classpath in conf directory
>>>>>>
>>>>>> i currently got it to work by changing this hive setting in
>>>>>> hive-site.xml:
>>>>>> hive.metastore.schema.verification=true
>>>>>> to
>>>>>> hive.metastore.schema.verification=false
>>>>>>
>>>>>> this feels like a hack, because schema verification is a good thing i
>>>>>> would assume?
>>>>>>
>>>>>> On Tue, Feb 9, 2016 at 3:25 PM, Alexandr Dzhagriev <dzh...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Koert,
>>>>>>>
>>>>>>> As far as I can see you are using derby:
>>>>>>>
>>>>>>>  Using direct SQL, underlying DB is DERBY
>>>>>>>
>>>>>>> not mysql, which is used for the metastore. That means, spark
>>>>>>> couldn't find hive-site.xml on your classpath. Can you check that, 
>>>>>>> please?
>>>>>>>
>>>>>>> Thanks, Alex.
>>>>>>>
>>>>>>> On Tue, Feb 9, 2016 at 8:58 PM, Koert Kuipers <ko...@tresata.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> has anyone successfully connected to hive metastore using spark
>>>>>>>> 1.6.0? i am having no luck. worked fine with spark 1.5.1 for me. i am 
>>>>>>>> on
>>>>>>>> cdh 5.5 and launching spark with yarn.
>>>>>>>>
>>>>>>>> this is what i see in logs:
>>>>>>>> 16/02/09 14:49:12 INFO hive.metastore: Trying to connect to
>>>>>>>> metastore with URI thrift://metastore.mycompany.com:9083
>>>>>>>> 16/02/09 14:49:12 INFO hive.metastore: Connected to metastore.
>>>>>>>>
>>>>>>>> and then a little later:
>>>>>>>>
>>>>>>>> 16/02/09 14:49:34 INFO hive.HiveContext: Initializing execution
>>>>>>>> hive, version 1.2.1
>>>>>>>> 16/02/09 14:49:34 INFO client.ClientWrapper: Inspected Hadoop
>>>>>>>> version: 2.6.0-cdh5.4.4
>>>>>>>> 16/02/09 14:49:34 INFO client.ClientWrapper: Loaded
>>>>>>>> org.apache.hadoop.hive.shims.Hadoop23Shims for Hadoop version 
>>>>>>>> 2.6.0-cdh5.4.4
>>>>>>>> 16/02/09 14:49:34 WARN conf.HiveConf: HiveConf of name
>>>>>>>> hive.server2.enable.impersonation does not exist
>>>>>>>> 16/02/09 14:49:35 INFO metastore.HiveMetaStore: 0: Opening raw
>>>>>>>> store with implemenation 
>>>>>>>> class:org.apache.hadoop.hive.metastore.ObjectStore
>>>>>>>> 16/02/09 14:49:35 INFO metastore.ObjectStore: ObjectStore,
>>>>>>>> initialize called
>>>>>>>> 16/02/09 14:49:35 INFO DataNucleus.Persistence: Property
>>>>>>>> hive.metastore.integral.jdo.pushdown unknown - will be ignored
>>>>>>>> 16/02/09 14:49:35 INFO DataNucleus.Persistence: Property
>>>>>>>> datanucleus.cache.level2 unknown - will be ignored
>>>>>>>> 16/02/09 14:49:35 WARN DataNucleus.Connection: BoneCP specified but
>>>>>>>> not present in CLASSPATH (or one of dependencies)
>>>>>>>> 16/02/09 14:49:35 WARN DataNucleus.Connection: BoneCP specified but
>>>>>>>> not present in CLASSPATH (or one of dependencies)
>>>>>>>> 16/02/09 14:49:37 WARN conf.HiveConf: HiveConf of name
>>>>>>>> hive.server2.enable.impersonation does not exist
>>>>>>>> 16/02/09 14:49:37 INFO metastore.ObjectStore: Setting MetaStore
>>>>>>>> object pin classes with
>>>>>>>> hive.metastore.cache.pinobjtypes="Table,StorageDescriptor,SerDeInfo,Partition,Database,Type,FieldSchema,Order"
>>>>>>>> 16/02/09 14:49:38 INFO DataNucleus.Datastore: The class
>>>>>>>> "org.apache.hadoop.hive.metastore.model.MFieldSchema" is tagged as
>>>>>>>> "embedded-only" so does not have its own datastore table.
>>>>>>>> 16/02/09 14:49:38 INFO DataNucleus.Datastore: The class
>>>>>>>> "org.apache.hadoop.hive.metastore.model.MOrder" is tagged as
>>>>>>>> "embedded-only" so does not have its own datastore table.
>>>>>>>> 16/02/09 14:49:40 INFO DataNucleus.Datastore: The class
>>>>>>>> "org.apache.hadoop.hive.metastore.model.MFieldSchema" is tagged as
>>>>>>>> "embedded-only" so does not have its own datastore table.
>>>>>>>> 16/02/09 14:49:40 INFO DataNucleus.Datastore: The class
>>>>>>>> "org.apache.hadoop.hive.metastore.model.MOrder" is tagged as
>>>>>>>> "embedded-only" so does not have its own datastore table.
>>>>>>>> 16/02/09 14:49:40 INFO metastore.MetaStoreDirectSql: Using direct
>>>>>>>> SQL, underlying DB is DERBY
>>>>>>>> 16/02/09 14:49:40 INFO metastore.ObjectStore: Initialized
>>>>>>>> ObjectStore
>>>>>>>> java.lang.RuntimeException: java.lang.RuntimeException: Unable to
>>>>>>>> instantiate 
>>>>>>>> org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522)
>>>>>>>>   at
>>>>>>>> org.apache.spark.sql.hive.client.ClientWrapper.<init>(ClientWrapper.scala:194)
>>>>>>>>   at
>>>>>>>> org.apache.spark.sql.hive.client.IsolatedClientLoader.createClient(IsolatedClientLoader.scala:238)
>>>>>>>>   at
>>>>>>>> org.apache.spark.sql.hive.HiveContext.executionHive$lzycompute(HiveContext.scala:218)
>>>>>>>>   at
>>>>>>>> org.apache.spark.sql.hive.HiveContext.executionHive(HiveContext.scala:208)
>>>>>>>>   at
>>>>>>>> org.apache.spark.sql.hive.HiveContext.setConf(HiveContext.scala:440)
>>>>>>>>   at
>>>>>>>> org.apache.spark.sql.SQLContext$$anonfun$4.apply(SQLContext.scala:272)
>>>>>>>>   at
>>>>>>>> org.apache.spark.sql.SQLContext$$anonfun$4.apply(SQLContext.scala:271)
>>>>>>>>   at scala.collection.Iterator$class.foreach(Iterator.scala:742)
>>>>>>>>   at scala.collection.AbstractIterator.foreach(Iterator.scala:1194)
>>>>>>>>   at
>>>>>>>> scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
>>>>>>>>   at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
>>>>>>>>   at org.apache.spark.sql.SQLContext.<init>(SQLContext.scala:271)
>>>>>>>>   at
>>>>>>>> org.apache.spark.sql.hive.HiveContext.<init>(HiveContext.scala:97)
>>>>>>>>   at
>>>>>>>> org.apache.spark.sql.hive.HiveContext.<init>(HiveContext.scala:101)
>>>>>>>>   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>>>>>> Method)
>>>>>>>>   at
>>>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>>>>>>>>   at
>>>>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>   at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>>>>>>>>   at org.apache.spark.repl.Main$.createSQLContext(Main.scala:89)
>>>>>>>>   ... 47 elided
>>>>>>>> Caused by: java.lang.RuntimeException: Unable to instantiate
>>>>>>>> org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1523)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:86)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:132)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:104)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:3005)
>>>>>>>>   at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3024)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:503)
>>>>>>>>   ... 66 more
>>>>>>>> Caused by: java.lang.reflect.InvocationTargetException:
>>>>>>>> org.apache.hadoop.hive.metastore.api.MetaException: Version 
>>>>>>>> information not
>>>>>>>> found in metastore.
>>>>>>>>   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>>>>>> Method)
>>>>>>>>   at
>>>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>>>>>>>>   at
>>>>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>>>>>>>>   at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1521)
>>>>>>>>   ... 72 more
>>>>>>>> Caused by: org.apache.hadoop.hive.metastore.api.MetaException:
>>>>>>>> Version information not found in metastore.
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.metastore.ObjectStore.checkSchema(ObjectStore.java:6664)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.metastore.ObjectStore.verifySchema(ObjectStore.java:6645)
>>>>>>>>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>>>>>   at
>>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>>>>>>   at
>>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>>>>>   at java.lang.reflect.Method.invoke(Method.java:606)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:114)
>>>>>>>>   at com.sun.proxy.$Proxy26.verifySchema(Unknown Source)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:572)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:620)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:461)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.metastore.RetryingHMSHandler.<init>(RetryingHMSHandler.java:66)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:72)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:5762)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:199)
>>>>>>>>   at
>>>>>>>> org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.<init>(SessionHiveMetaStoreClient.java:74)
>>>>>>>>   ... 77 more
>>>>>>>>
>>>>>>>> i seem to get this exact same error no matter what i set
>>>>>>>> spark.sql.hive.metastore.version and spark.sql.hive.metastore.jars to. 
>>>>>>>> i
>>>>>>>> tried building different spark 1.6.0 jars (with hadoop provided, with
>>>>>>>> hadoop included), but no effect.
>>>>>>>>
>>>>>>>> any ideas?
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>

Reply via email to