【问题标题】:Change connect.offsets kafka connector error更改 connect.offsets kafka 连接器错误
【发布时间】:2020-06-01 12:13:07
【问题描述】:

我从binlog mysql同步数据到kafka,有时binlog文件被删除,重启连接器时出现错误

org.apache.kafka.connect.errors.ConnectException: The connector is trying to read binlog starting at binlog file 'mysql-bin.000003', pos=154, skipping 0 events plus 0 rows

我将 /tmp/connect.offsets 更改为当前的 binlog 文件。但它再次从数据库推送主题加载所有数据。我想防止这种情况发生,我只想从 binlog 文件中加载更改。

【问题讨论】:

  • 您使用的是哪个连接器?您是否有充分的理由独立使用 Kafka Connect?建议一般分布式(即使在单个节点上)
  • @RobinMoffatt 我正在使用带有 Debezium 插件的独立 Kafka Connect

标签: apache-kafka apache-kafka-connect debezium


【解决方案1】:

这是预期的行为。 Debezium 永远不应该宕机那么久,以至于任何尚未看到的 binlog 都被删除,因为这会导致数据不一致,因此错误消息是正确的。

解决这种情况的正确方法是使用snapshot.mode=when_needed。您正确提到的另一个解决方案是偏移操作。但是在这里您一定有任何错误,因为您所描述的听起来好像连接器根本无法找到偏移量,因此它认为它从头开始并启动新快照。

【讨论】:

  • Jiri Pechanec,我试试你的方法,但它仍然会将所有行数据库加载到主题,我只想加载 binlog 文件中的更改
  • 通过偏移操作,它应该只恢复流式传输。但请记住,您将丢失 binlog 中不再可用的数据。
猜你喜欢
  • 2021-01-08
  • 2021-10-07
  • 1970-01-01
  • 2018-06-09
  • 1970-01-01
  • 2017-02-21
  • 2019-06-22
  • 2017-10-02
  • 2019-09-28
相关资源
最近更新 更多