【问题标题】:Kafka connect behaviour in Distribution mode分布模式下的 Kafka 连接行为
【发布时间】:2021-11-08 18:00:48
【问题描述】:

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

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

【问题讨论】:

  • 你的意思是每个连接器运行两次?这是不应该的。也许您可以在问题中分享更多细节,例如 REST API 的输出显示连接器和任务的工作人员和分布?
  • 我的意思是每个连接器在不同的实例中运行。这里负载被正确分担。它总是相同的行为吗?

标签: apache-kafka-connect


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-27
    • 2021-12-21
    • 2020-05-09
    • 2020-05-15
    • 1970-01-01
    • 2018-08-16
    • 2019-01-16
    • 2023-03-08
    相关资源
    最近更新 更多