hive mysql初始化报错-Unknown system variable ‘tx_isolation‘

文章描述了在使用Hive时遇到的元数据初始化失败的问题,原因是使用的mysql-connector-java.jar版本与实际MySQL数据库版本不匹配。具体表现为SLF4J的日志绑定问题和对tx_isolation系统变量的未知错误。解决方案是更换与当前MySQL版本(这里是8.0)兼容的驱动jar包,如mysql-connector-java-8.0.11.jar,然后重新运行初始化脚本,最终成功完成元数据初始化。
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Metastore connection URL:	 jdbc:mysql://tencent203:3306/metastore?characterEncoding=UTF8&useSSL=false&createDatabaseIfNotExist=true
Metastore Connection Driver :	 com.mysql.jdbc.Driver
Metastore connection User:	 root
Starting metastore schema initialization to 3.1.0
Initialization script hive-schema-3.1.0.mysql.sql
Error: Unknown system variable 'tx_isolation' (state=HY000,code=1193)


Error: Could not retrieve transation read-only status server (state=S1000,code=0)
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 stacktrace.

解决问题:

由于放在 ../hive-3.1.2/lib 下的mysql-connector-java.jar 是mysql的3.1.0版本导致。

更换为自己所有的mysql版本的即可,我的mysql是8.0 所有我用的是mysql-connector-java-8.0.11.jar

重新执行

schematool -dbType mysql -initSchema

成功:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值