Hive错误: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.Session

导读:本篇文章讲解 Hive错误: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.Session,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1. 今天在使用hive客户端时,执行查询语句报错如下:

FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException:
java.lang.RuntimeException: Unable to instantiate 
org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

在这里插入图片描述

2. 原因分析:服务端未开启服务,在hive服务端使用命令:hive --service metastore &
再在客户端使用hive命令连接 (注意:客户端与服务端一般不在同一节点)
在这里插入图片描述

3. 网上其他解决方案:hive的数据库MySQL在安装的时候没有初始化
解决方案:初始化数据库,命令:schematool -dbType mysql -initSchema
在这里插入图片描述

初始化时又遇到下面的错误

Error: Duplicate key name 'PCS_STATS_IDX' (state=42000,code=1061)
org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED!
Metastore state would be inconsistent !!
Underlying cause: java.io.IOException : Schema script failed, errorcode 2
Use --verbose for detailed st

在这里插入图片描述
3. 原因分析:初始化的时候就会创建数据库hive,第一次初始化就已经生成,如果后面继续初始化还会继续执行这一步,但是执行到这时不能创建名字相同的数据库,就会报错以上错误信息,解决办法就是打开我们的mysql数据库,将这个hive数据库删除,继续初始化就可以成功了。

(1) 查看库名:show databases;
在这里插入图片描述

(2) 删除数据库:drop database hive;
在这里插入图片描述
(3) 重新执行初始化命令:schematool -dbType mysql -initSchema 即可成功
在这里插入图片描述

4. 检查:在hive的lib下加入适合自己节点的mysql驱动
在这里插入图片描述

5. 在hive服务端使用命令:hive --service metastore &,客户端中使用hive连接,即可正常使用hive
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/13717.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!