hive初始化提示Loading class `com.mysql.jdbc.Driver‘...和java.sql.SQLNonTransientConnectionException...

一、执行命令

schematool -dbType mysql -initSchema

二、错误提示

(一)Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

(二)org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
Underlying cause: java.sql.SQLNonTransientConnectionException : Public Key Retrieval is not allowed

MySQL数据库版本为:8.0.37


MySQL驱动包版本为:8.0.30

HIVE版本:3.1.2

三、解决办法

(一)针对“二、错误提示(一)”

 1. 解释

正在尝试加载一个已经不再被推荐使用的MySQL JDBC驱动类com.mysql.jdbc.Driver。从MySQL Connector/J 5.1版本开始,推荐使用com.mysql.cj.jdbc.Driver这个新的驱动类。

2.处理方式

编辑$HIVE_HOME/conf/hive-site.xml文件,将javax.jdo.option.ConnectionDriverName的值从: com.mysql.jdbc.Driver更改为: com.mysql.cj.jdbc.Driver

(二)针对“二、错误提示(二)”

1.解释

java.sql.SQLNonTransientConnectionException 是 Java 中与数据库连接相关的异常,表示不会自动恢复的连接异常。这个异常通常指示了一个持久的问题,比如无法建立连接,或者连接已经丢失。

2.处理方式

MySQL Connector/J 5.1.31 或更高版本可以在JDBC URL 中添加 allowPublicKeyRetrieval=true

参数。我的MySQL驱动包版本为:8.0.30,故编辑$HIVE_HOME/conf/hive-site.xml文件在JDBC URL中补充该参数,如下图:

解释:hive中 & 符号使用 & 来表示。

四、验证结果

重新执行“一、执行命令”

mysql数据库节点上已经添加了hive数据库,说明连接数据库成功。

  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值