【发布时间】:2021-04-24 11:59:12
【问题描述】:
我需要在 Debezium Postgres 连接器中向 table.whitelist 添加更多表。我找到了提到here 的方法。它表明:
快照完成后,使用更新的白名单表列表启动原始连接器
但是如何才能知道快照是否完整呢?
【问题讨论】:
标签: postgresql apache-kafka apache-kafka-connect debezium
我需要在 Debezium Postgres 连接器中向 table.whitelist 添加更多表。我找到了提到here 的方法。它表明:
快照完成后,使用更新的白名单表列表启动原始连接器
但是如何才能知道快照是否完整呢?
【问题讨论】:
标签: postgresql apache-kafka apache-kafka-connect debezium
尾随 Connect 集群使用的 connect.offsets.storage 主题,并记下连接器中指定的 server.id。
对于完整的初始快照,您应该会在快照完成后看到以下条目。
{
"file":"my-database-bin.000004",
"pos":143
}
在处理事件并赶上最新的二进制日志时,它将根据服务器 ID 更新偏移量的状态。
{
"ts_sec": 1610704790,
"file": "my-database-bin.000004",
"row": 2,
"pos": 134,
"server_id": 2001186
...
}
它现在正在赶上主二进制日志并提交偏移量的事实确认快照已完成,因为只有在完成快照后,连接器才会监视源偏移量。
【讨论】:
有多种方法可以做到这一点。您可以检查 Kafka Connect 日志,或者在收到的最新事件中读取 payload.source.snapshot 的布尔值,或者使用 JMX,其中每个连接器的 MBean 都具有 SnapshotCompleted 布尔属性。
【讨论】: