Hive执行show databases出现RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata
·
Hive客户端启动执行sql出现以下错误
错误1:
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

错误2:
FAILED: RuntimeException Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

解决方法
Hive的安装步骤没有错误,以及配置文件没有错误:
需要开启hive的元数据,解决错误
hive --service metastore

问题分析
是由于hive的hive-site.xml中加入
<property>
<name>hive.metastore.uris</name>
<value>thrift://IP:9083</value>
</property>

加了该配置,使用hive命令行,需要开启元数据服务。
问题没解决才使用下面的方法
也有可能是没有初始化元数据库
使用以下指令
schematool -initSchema -dbType mysql -verbose
也有可能是没有在mysql中创建数据库

数据库名与配置文件一样
create database metastore;
也有可能是mysql的问题
- hive连接mysql的账号密码不正确

- hive连接mysql的账户的权限不够,以及mysql不允许ip访问
## 任何ip可通过root用户访问
update user set host="%" where user="root";
## 开启权限
grant all privileges on . to ‘root’@’%’ identified by ‘000000’ with grant option;
## 刷新权限
flush privileges;

3. 可能hive的lib下没有mysql-connector-java-x.x.x-bin.jar
更多推荐
所有评论(0)