Hive Schema version 2.1.0 does not match metastore's schema version 1.2.0 Metastore is not upgraded
阿新 • • 發佈:2018-12-28
hive啟動報錯,這裡很顯然可以看出錯誤是說2.1.0版本的hive不能匹配hive1.2.0的metastore,所以需要將hive的元資料資訊的版本更改一下
Caused by: MetaException(message:Hive Schema version 2.1.0 does not match metastore's schema version 1.2.0 Metastore is not upgraded or corrupt) at org.apache.hadoop.hive.metastore.ObjectStore.checkSchema(ObjectStore.java:7768) at org.apache.hadoop.hive.metastore.ObjectStore.verifySchema(ObjectStore.java:7731) 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:498) at org.apache.hadoop.hive.metastore.RawStoreProxy.invoke(RawStoreProxy.java:101) at com.sun.proxy.$Proxy21.verifySchema(Unknown Source) at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:565) at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:626) at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:416) at org.apache.hadoop.hive.metastore.RetryingHMSHandler.<init>(RetryingHMSHandler.java:78) at org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:84) at org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:6490) at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.<init>(HiveMetaStoreClient.java:238) at org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient.<init>(SessionHiveMetaStoreClient.java:70) ... 27 more
1.進入到hive元資料資訊所在的mysql表中
mysql>use hive
2.select * from VERSION;這裡可以看出hive的版本資訊是錯誤中所說的1.2.0版本,所以這裡需要將hive的版本改成自己的hive的版本
3.update VERSION set SCHEMA_VERSION=‘2.1.1’ where VER_ID=1;
.
4.再次啟動hive就可以了。
5.導致錯誤的原因:
我是用spark連結hive,spark程式碼中的pom檔案中的hive版本he叢集中hive版本不是一致的,所以導致了這個錯誤。要想避免這個錯誤就需要將spark程式中pom對應的hive版本改成叢集對應的版本。