【 TiDB 使用环境】生产环境
【 TiDB 版本】4.0.6–4.0.10
【 tikv-client-java 版本】3.2.0
【复现路径】使用tidb-cdc-connector拉取全量数据
【遇到的问题:问题现象及影响】无法读取数据
背景:
想要通过flink-cdc将tidb中的数据导入到其他介质,在读取过程中可访问Meta信息,但是无法从store中获取实际的kv。具体可见于sdk:tikv-client-java的RegionStoreClient的scan方法中
request内可见访问具体store的信息,但是最后的response无任何返回值
无任何报错,猜测是否与获取store内数据时超时,链接被半关闭有关;或者是版本问题(目前公司方无升版本意愿)
使用 TiCDC 同步到 Kafka 然后再用 Flink 消费
但是排查中发现是tikv-client-java 3.2.0做scan动作无法从tikv的store中获取kv,flink-connector只是调用了api
有猫万事足
6
https://github.com/ververica/flink-cdc-connectors
用的是这个?
tidb-cdc * TiDB: 5.1.x, 5.2.x, 5.3.x, 5.4.x, 6.0.0 JDBC Driver: 8.0.27
如果这个的话,这首页上也没说支持tidb4.0吧。 ![:sweat_smile: :sweat_smile:](https://asktug.com/images/emoji/apple/sweat_smile.png?v=12)
但是我在测试过程中发现4.0.10是可以正常使用的
主要公司这边有大量的4.0.6以及4.0.8的表,升级成本是DBA不愿意接受的,所以才试图继续找这些版本的解决方案
这个问题有依赖项:
flink cdc tidb connector,不是 tidb社区的出品,在你不准备 升级 tidb 来解决问题的前提下,你可能需要到对方社区尝试寻求解决方案。
1 个赞
有猫万事足
13
dba的想法,可以理解。
就flink-cdc-connectors工具没有承诺支持的情况下,能用当然是最好。
要是不能用,要么去github上对应的项目下提一个featrue,等对方社区支持。要么自己看看是否可以通过看代码,顺便贡献一下生态。
也就是这两个办法了啊。
从tidb的角度看,社区可以提供的支持是ticdc
https://docs.pingcap.com/zh/tidb/v4.0/ticdc-overview
这个在4.0.6版本以上就可以用。
再回到开头你的问题
将tidb中的数据导入到其他介质
我感觉没有必要纠结用什么工具,用ticdc的话,会很困难吗?
可能,我是说可能。。没有团队愿意额外承担一个新组件的运维工作 ![:joy: :joy:](https://asktug.com/images/emoji/apple/joy.png?v=12)
有猫万事足
15
同意。
flink-cdc-connectors团队可能也是这么想的。所以没有支持tidb4.0.你可以尝试催催他们。
xfworld
(魔幻之翼)
16
4.X 就推荐使用 binlog 组件了,不推荐使用 ticdc ![:yum: :yum:](https://asktug.com/images/emoji/apple/yum.png?v=12)
下游可以是任意的文件系统,能够通过调度的方法解析 binlog 也可以实时获取到变更
也可以对接kafka,那就更复杂了
xfworld
(魔幻之翼)
18
system
(system)
关闭
19
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。