使用hive一段時間之後,今天在使用的時候忽然報錯,以下:java
hive> show databases;
FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask數據庫
hive> exit;apache
退出後使用debug模式,發現有以下錯誤:oop
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:132)
at java.util.jar.JarFile.<init>(JarFile.java:151)
at java.util.jar.JarFile.<init>(JarFile.java:115)
at org.datanucleus.plugin.NonManagedPluginRegistry.registerBundle(NonManagedPluginRegistry.java:350)ui
解決方法:debug
將HADOOP_HOME下的build目錄刪除或者重命名,這個錯誤的緣由是我以前在本地用ant build了hadoop,hive在鏈接元數據庫讀取相關表是會加載本地庫,若是有版本或者編譯錯誤,會致使hive的鏈接元數據讀取數據異常。code