我需要在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布尔属性。