【问题标题】:Debezium MySQL (MariaDB) connector : How to resume from a previous bin-log file positionDebezium MySQL (MariaDB) 连接器:如何从以前的 bin-log 文件位置恢复
【发布时间】:2018-11-30 09:18:47
【问题描述】:

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

  1. 停止连接
  2. 完全停止 Kafka
  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 恢复操作并绕过初始快照。

提前感谢您的帮助。

【问题讨论】:

    标签: apache-kafka-connect cdc debezium


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2022-12-13
        • 2012-09-30
        • 1970-01-01
        • 2020-04-19
        • 2019-02-16
        • 2020-05-13
        • 2020-12-29
        • 2020-09-13
        • 2018-10-06
        相关资源
        最近更新 更多