【问题标题】:Debezium heartbeat is not committing LSNDebezium 心跳未提交 LSN
【发布时间】:2020-12-26 23:23:27
【问题描述】:

我们在 Kafka Connect 集群中部署了 13 个 (Amazon RDS) 由 debezium 监控的数据库。 现在发生的情况是,这 13 个数据库中有 1 个有一个复制槽,该槽的延迟越来越大。

12 个数据库有 10 到 120 kB 的延迟,而此时有一个超过 700 MB。

使用

SELECT slot_name, 
       pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn)) as replicationSlotLag, 
       pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), confirmed_flush_lsn)) as confirmedLag,
       active
FROM pg_replication_slots;

复制槽处于活动状态;我检查了连接器状态 (GET kafka-connect:8083/<connector-name>/status),连接器和任务都处于 RUNNING 状态。

为了添加更多信息,我们启用了 heartbeat 和 heartbeat.action.query 以定期在发件箱表中插入一个虚拟事件,因此我希望每个受监控的数据库每 10 秒收到一次新的更改

我们已经尝试过:

  • 检查心跳线程故障的日志,但我们没有看到任何异常
  • 重启集群,但卡顿依然存在
  • 检查滞后数据库的相关心跳主题,即使在集群重启后也没有消息

有人知道发生了什么吗?

【问题讨论】:

    标签: debezium


    【解决方案1】:

    看起来在滞后的数据库上手动执行 heartbeat.action.query 可以解决问题...仍然不知道为什么或何时发生

    【讨论】:

      猜你喜欢
      • 2021-10-24
      • 2021-05-13
      • 1970-01-01
      • 2020-05-25
      • 1970-01-01
      • 2011-11-06
      • 2023-03-22
      • 2021-10-19
      相关资源
      最近更新 更多