【问题标题】:Kafka connect-distributed mode fault tolerance not workingKafka连接分布式模式容错不起作用
【发布时间】:2022-02-21 23:43:49
【问题描述】:

我用 3 台 EC2 机器创建了 kafka 连接集群,并在每台机器上启动了 3 个连接器(debezium-postgres 源),从 postgres 源读取一组不同的表。在其中一台机器上,我也启动了 s3 sink 连接器。因此,来自 postgres 的更改数据正在通过源连接器 (3) 移动到 kafka 代理,而 S3 接收器连接器使用这些消息并将它们推送到 S3 存储桶。
集群运行良好,连接器也运行良好。当我暂停在一台 EC2 机器上运行的任何连接器时,我期望它的任务应该由另一台机器上运行的另一个连接器(postgres-debezium)承担。但这并没有发生。 我还安装了 kafdrop 来监控经纪人。我看到 3 个内部主题 connect-offsets、connect-status 和 connect-configs 也填充了必要的偏移量、配置和状态(当我暂停时,出现状态暂停消息)。 但不知何故,当我暂停时,连接器并没有接受任务。 让我知道在什么情况下连接器会承担其他失败的任务?暂停是正确的方法吗?或者我们应该在其中一个连接器上产生一些错误然后它需要。 请指导。

【问题讨论】:

    标签: apache-kafka apache-kafka-connect fault-tolerance


    【解决方案1】:

    听起来像预期的那样工作。

    暂停与容错设置无关,它会完全停止任务。在取消暂停之前没有什么可以重新平衡。

    死信队列、跳过+日志或暂停的容错设置适用于连接器中存在您无法通过 API 控制的实际运行时异常时。例如,数据库或 S3 网络/身份验证异常,或 Kafka 客户端中的序列化错误

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-27
      • 2021-11-08
      • 1970-01-01
      • 2019-09-01
      • 2018-08-16
      • 2019-01-16
      • 2018-08-07
      • 2019-12-17
      相关资源
      最近更新 更多