如何检查debezium快照是否完成



我需要在Debezium Postgres连接器中添加更多的表到table.whitelist。我找到了这里提到的一种方法。这表明:

当快照完成后,使用更新后的白名单表列表启动原始连接器

但是我如何知道快照是否完成?

跟踪Connect集群使用的connect.offsets.storage主题,并记下连接器中指定的server.id

对于一个完整的初始快照,您应该看到以下条目刚刚发布了快照完成。

{ 
"file":"my-database-bin.000004",
"pos":143
}

当它正在处理事件并赶上最新的binlog时,它将根据服务器id更新偏移量的状态。

{
"ts_sec": 1610704790,
"file": "my-database-bin.000004",
"row": 2,
"pos": 134,
"server_id": 2001186
...
}

现在它正在赶上主binlog并提交偏移量,这是一个确认快照已经完成,因为只有在快照完成后,连接器才会根据源偏移量进行监视。

有多种方法。你可以检查Kafka Connect日志或读取payload.source.snapshot的布尔值在最近收到的事件或使用JMX,其中每个连接器的MBean都有SnapshotCompleted布尔属性。

最新更新