【发布时间】: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