首页 > 解决方案 > 更改 connect.offsets kafka 连接器错误

问题描述

我将数据从 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 文件中加载更改。

标签: apache-kafkaapache-kafka-connectdebezium

解决方案


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

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


推荐阅读