TiDB 能替代 MySQL 做 Hive 的元数据管理库所遇问题

需求反馈
请清晰准确地描述问题场景、需求行为及背景信息,更有利于产品同学及时跟进需求
【需求涉及的问题场景】
通过 Ambari 工具自动化构建 Hadoop 大数据平台和外围应用时使用 TIDB (v5.0.0) 做 Hive 的元数据存储库
【期望的需求行为】
SAVEPOINT 语句
【需求可替代方案】

【背景信息】
通过 Ambari 工具自动化构建 Hadoop 大数据平台和外围应用时使用 TIDB 做 Hive 的元数据存储库,服务部署安装时都有对应解决方案,搭建完大数据集群之后,在测试 Hive 的增删改时出现错误:

Error: Error while processing statement: FAILED: Error in acquiring locks: Error communicating with the metastore (state=42000,code=10) ;

通过查看hivemetastore.log 发现如下问题:

2022-04-27T09:24:13,797 ERROR [pool-6-thread-7]: thrift.ProcessFunction (ProcessFunction.java:process(41)) - Internal error processing lock
org.apache.hadoop.hive.metastore.api.MetaException: Unable to update transaction database com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your TiDB version for the right syntax to use line 1 column 9 near "SAVEPOINT `_5ee8b637_18065af7956__7ffd`"

问题结论与帮助需求:

  1. TiDB 不支持 Savepoint 语句,是不是就不能替代 MySQL 做 Hive 的元数据存储库?
  2. 从维基百科以及知乎看到有说 TiDB 4.0 版本的替代方案,不知道有没有人实践成功过?

请教各路大神对该问题的解决方案!谢谢

1 个赞