分布式模式下的 Kafka 连接行为

Kafka connect behaviour in Distribution mode

Im 运行 Kafka 以分布式模式连接,有两个不同的连接器,每个连接器有一个任务。每个连接器在不同的实例中都是 运行,这正是我想要的。

Kafka connect 集群正确分担负载是否始终确保相同的行为?

Kafka 中的连接器连接 运行 一个或多个任务。任务的数量取决于您如何配置连接器,以及连接器本身是否可以 运行 多项任务。一个示例是 JDBC 源连接器,如果从数据库中摄取多个 table,则每个 table 将 运行(如果配置为这样做)一个任务。

当您 运行 在分布式模式下连接 Kafka 时,来自所有连接器的任务将在可用的工作线程中执行。每项任务一次只能在一名工人身上执行。 如果一个 worker 失败(或被关闭),那么 Kafka Connect 将重新平衡剩余 worker 之间的任务。

因此,您可能会看到一个连接器 运行 跨不同的工作人员(实例),但前提是它有多个任务。

如果您认为同一连接器的任务执行了不止一次,则表明 Kafka Connect 集群配置错误,我建议查看 https://rmoff.net/2019/11/22/common-mistakes-made-when-configuring-multiple-kafka-connect-workers/