初始化hive元数据库报错org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.

        最近,我在学习hive的时候,用MySQL作为hive的元数据库,配置好hive-site.xml文件后初始化hive的元数据库失败,显示错误为:

org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version. 

Underlying cause: java.sql.SQLNonTransientConnectionException : Public Key Retrieval is not allowed

错误表明在使用JDBC连接数据库时,遇到了安全限制,无法从远程服务器获取公钥来进行加密通信。

以下是我的hive-site.xml内容配置:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:mysql://hadoop102:3307/metastore?useSSL=false</value>
</property>

 <!--数据库驱动  如果你使用的是8.x  驱动是:com.mysql.cj.jdbc.Driver-->
<property>
   <name>javax.jdo.option.ConnectionDriverName</name>
   <value>com.mysql.cj.jdbc.Driver</value>
</property>

 <!--数据库的用户名-->
<property>
   <name>javax.jdo.option.ConnectionUserName</name>
   <value>root</value>
</property>

 <!--数据库的密码-->
<property>
   <name>javax.jdo.option.ConnectionPassword</name>
   <value>111111</value>
</property>

 <!--hive默认在HDFS中的工作目录-->
<property>
   <name>hive.metastore.warehouse.dir</name>
   <value>/user/hive/warehouse</value>
</property>
</configuration>

 我在检查完以下可能导致出现错误的原因后:

1、防火墙是否关闭

2、是否在hive-site.xml配置中关闭了SSL

3、hive-site.xml其它代码是否配置有误

仍然没有解决问题!

最后我更换了三次JDBC的驱动jar包版本,终于解决了问题!

我的 MySQL版本为8.0.26,第一次的驱动版本与之相同,后来换了多个版本直到8.3.0才解决问题,所以大家一定要选择与MySQL版本相适应的驱动版本,若第一次更换驱动版本没有解决,可以试着多更换几个版本。

好了,分享就写到这,希望大家遇到问题切记不要慌,多多实践(不要怕麻烦,也许解决的方法就在下一次时间中),祝大家以后的学习之路一帆风顺!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值