辽阳网站制作,中山三水网站建设,莱钢建设有限公司网站,企业网站的标题关键词文章目录 一. 问题描述二. 常规排查1. 元数据库2. hive-site.xml相关meta连接信息检查 三. 正解 一. 问题描述
进入hive终端#xff0c;执行如下命令报错#xff1a;
hive show tables;
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException:
… 文章目录 一. 问题描述二. 常规排查1. 元数据库2. hive-site.xml相关meta连接信息检查 三. 正解 一. 问题描述
进入hive终端执行如下命令报错
hive show tables;
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException:
java.lang.RuntimeException: Unable to instantiate
org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient*Error “Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient” 字面意思就是无法实例化hive Metastore client端。 二. 常规排查
先朝着hive的一些配置入手排查
1. 元数据库
hive元数据库是否初始化库是否正常存在hive的元数据配置在mysql
元数据库没有问题且相关库表也都存在说明进行了初始化并且hive元数据没有丢失。
注意 如果元数据不存在或者库已经损坏这可以删除库之后重新进行初始化 schematool -dbType mysql -initSchema 2. hive-site.xml相关meta连接信息检查 连接信息ok到此说明我们在安装、配置hive时是没有问题的接着分析日志。 三. 正解
查看hive运行日志:
MetaException(message:Hive Schema version 3.1.0 does not match metastores schema version 1.2.0 Metastore is not upgraded or corrupt)at org.apache.hadoop.hive.metastore.RetryingHMSHandler.init(RetryingHMSHandler.java:84)at org.apache.hadoop.hive.metastore.RetryingHMSHandler.getProxy(RetryingHMSHandler.java:93)at org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:8661)at org.apache.hadoop.hive.metastore.HiveMetaStore.newRetryingHMSHandler(HiveMetaStore.java:8656)at org.apache.hadoop.hive.metastore.HiveMetaStore.startMetaStore(HiveMetaStore.java:8926)at org.apache.hadoop.hive.metastore.HiveMetaStore.main(HiveMetaStore.java:8843)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.util.RunJar.run(RunJar.java:239)at org.apache.hadoop.util.RunJar.main(RunJar.java:153)
Caused by: MetaException(message:Hive Schema version 3.1.0 does not match metastores schema version 1.2.0 Metastore is not upgraded or corrupt)at org.apache.hadoop.hive.metastore.ObjectStore.checkSchema(ObjectStore.java:9063)at org.apache.hadoop.hive.metastore.ObjectStore.verifySchema(ObjectStore.java:9027)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:97)at com.sun.proxy.$Proxy25.verifySchema(Unknown Source)at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMSForConf(HiveMetaStore.java:697)at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.getMS(HiveMetaStore.java:690)at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.createDefaultDB(HiveMetaStore.java:767)at org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.init(HiveMetaStore.java:538)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.RetryingHMSHandler.invokeInternal(RetryingHMSHandler.java:147)at org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke(RetryingHMSHandler.java:108)at org.apache.hadoop.hive.metastore.RetryingHMSHandler.init(RetryingHMSHandler.java:80)... 11 more 关键信息 (message:Hive Schema version 3.1.0 does not match metastore’s schema version 1.2.0 Metastore is not upgraded or corrupt) 简单的说hive schema和metastore的schema版本不一致通过分析相关堆栈方法checkSchema、verifySchema基本可以了解在执行hive shell命令之前hive会校验hive schema和metastore的schema的版本如果版本不一致则直接抛出异常导致命令不可使用。
而这个问题是在使用一段时间之后突然出现的那我们暂时可以认为hive schema和metastore的schema版本不一致不会影响hive的正常使用而这个问题可以
add below properties in hive-site.xml.
propertynamehive.metastore.schema.verification/namevaluefalse/value
/property即配置禁用版本验证来解决问题。 配置好之后重新进入hive执行命令问题解决。