代码改变世界

Hive的Metastore contains multiple versions

2015-05-21 09:31  追风的蓝宝  阅读(5650)  评论(0编辑  收藏  举报

hive 客户端报错:Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient

咋一看以为是Mysql连接不上,结果发现Mysql正常

错误日志:

 1 Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
 2     at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:444)
 3     at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:672)
 4     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616)
 5     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 6     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 7     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 8     at java.lang.reflect.Method.invoke(Method.java:606)
 9     at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
10     at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
11 Caused by: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
12     at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1449)
13     at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:63)
14     at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:73)
15     at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:2661)
16     at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:2680)
17     at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:425)
18     ... 8 more
19 Caused by: java.lang.reflect.InvocationTargetException
20     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
21     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
22     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
23     at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
24     at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1447)
25     ... 13 more
26 Caused by: MetaException(message:Metastore contains multiple versions)
27     at org.apache.hadoop.hive.metastore.ObjectStore.getMSchemaVersion(ObjectStore.java:6643)
28     at org.apache.hadoop.hive.metastore.ObjectStore.getMetaStoreSchemaVersion(ObjectStore.java:6605)
29     at org.apache.hadoop.hive.metastore.ObjectStore.checkSchema(ObjectStore.java:6564)
30     at org.apache.hadoop.hive.metastore.ObjectStore.verifySchema(ObjectStore.java:6552)
31     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
32     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
33     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
34     at java.lang.reflect.Method.invoke(Method.java:606)
35     at org.apache.hadoop.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:98)
36     at com.sun.proxy.$Proxy5.verifySchema(Unknown Source)
37     at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:539)
38     at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:587)
39     at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:429)
40     at org.apache.hadoop.hive.metastore.RetryingHMSHandler.<init>(RetryingHMSHandler.java:66)
41     at org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:72)
42     at org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:5554)
43     at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:178)
44     at org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.<init>(SessionHiveMetaStoreClient.java:73)
45     ... 18 more

解决方案:

 1 mysql> select * from version; 
 2 
 3 +--------+----------------+------------------+
 4 
 5 | VER_ID | SCHEMA_VERSION | VERSION_COMMENT  |
 6 
 7 +--------+----------------+------------------+
 8 
 9 |      1 | 0.13.0         | Set by MetaStore |
10 
11 |      6 | 0.13.0         | Set by MetaStore |
12 
13 +--------+----------------+------------------+
14 
15  
16 
17 删除了一条就好了。

 

原因暂且未知,不过我记得我当时是打开了Hive客户端,但是网络突然断了,不知道是否是这个原因。