1

我正在使用Debezium-connector-mysql-0.7.5-plugin为 CDC 连接 MariaDB v10.0.32。CDC 记录保存在 HDFS 中以供进一步处理。一切都很完美,直到出现以下情况:

  1. 停止连接
  2. 完全停止卡夫卡
  3. 停止 MariaDB 服务器

从CDC Records可以看出,最新处理的bin log坐标如下:

File : mysql-bin.000008
Position: 2155

由于上述行为,我面临以下后果:

  1. MariaDB 在重启期间轮换它的 bin 日志,当前状态如下

    +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000009 | 326 | | | +------------------+----------+--------------+------------------+

  2. 我之前注册的 Debezium 连接器在新启动的 Kafka 中不再可用

在这种情况下,如果我从头开始,连接器将通过以下操作获取初始快照:

  1. 放置锁然后从所有表中读取数据
  2. 完成后,它开始读取最新的 bin 日志文件,即 mysql-bin.000009

考虑到我的情况,有没有办法指示 Debezium 从 mysql-bin.000008 - 位置 2155 恢复其操作并绕过初始快照。

在此先感谢您的帮助。

4

2 回答 2

1

您可以尝试在 Connect 的偏移主题中插入一条记录,表示您想继续的位置。但在这种情况下,我真的不建议这样做,因为您会在连接器离开的时间和日志轮换时间之间丢失事件。因此,确实拍摄新快照会更安全。

于 2018-06-22T09:24:54.023 回答
0

据我尝试,您无法重置 debezium 的 binlog 文件名和位置。

于 2019-09-03T13:07:34.563 回答