spark采坑之hive2.0版本后面初始化错误

本文解决Hive连接MySQL时找不到驱动和初始化元数据遇到的重复键值错误。通过导入mysql驱动到hive/lib下,并调整hive-site.xml配置,删除并重新初始化metastore数据库,实现Hive与MySQL的正确连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错一:
Caused by: org.datanucleus.exceptions.NucleusException: Attempt to invoke the “BONECP” plugin to create a ConnectionPool gave an error : The specified datastore driver (“com.mysql.jdbc.Driver”) was not found in the CLASSPATH. Please check your CLASSPATH specification, and the name of the driver.

解决方法:
将mysql驱动jar包导入hive/lib下

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

Error: Duplicate entry ‘1’ for key ‘PRIMARY’ (state=23000,code=1062)

hive2.0版本之后需要初始化

schematool -dbType mysql -initSchema

解决方法:
hive里面的hive-site.xml中配置的mysql的初始化数据库把这个数据库删掉

<property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://bigdata100:3306/metastore?createDatabaseIfNotExist=true</value>
        </property>

删除metastore数据库

drop database DBNAME;

再重新执行初始化

schematool -dbType mysql -initSchema

返回结果
Starting metastore schema initialization to 2.3.0
Initialization script hive-schema-2.3.0.mysql.sql
Initialization script completed
schemaTool completed
则执行成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值