1. 程式人生 > >Hive Schema version 2.1.0 does not match metastore's schema version 1.2.0 Metastore is not upgraded

Hive Schema version 2.1.0 does not match metastore's schema version 1.2.0 Metastore is not upgraded

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版本改成叢集對應的版本。