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的问题
  1. hive连接mysql的账号密码不正确
    在这里插入图片描述
  2. 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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐