当前位置: 首页 > 知识库问答 >
问题:

分发模式下的Kafka连接行为

邓正谊
2023-03-14

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

Kafka connect集群是否总是确保相同的行为来适当地分担负载?

共有1个答案

吴靖
2023-03-14

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

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

因此,您可能会看到一个连接器跨不同的辅助角色(实例)运行,但前提是它具有多个任务。

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

 类似资料:
  • 我正在开发debezium mongodb源连接器。我可以通过提供kafka引导服务器地址作为远程机器(部署在Kubernetes中)和远程MongoDB URL在分布式模式下在本地机器中运行连接器吗? 我尝试了这一点,我看到连接器成功启动,没有错误,只有几个警告,但没有数据从MongoDB流动。 使用以下命令运行连接器 遵循以下教程:https://medium.com/tech-that-wo

  • 我们有制作人将以下内容发送给Kafka: 主题=系统日志,每天 ~25,000 个事件 topic=nginx,每天 ~5,000 个事件 topic=zeek.xxx.log,每天~100,000个事件(总计)。在最后一种情况下,有 20 个不同的 zeek 主题,例如 zeek.conn.log 和 zeek.http.log 实例充当消费者,将数据从kafka发送到elasticsearch

  • 我按问题推出了合流套件”。/bin/合流启动”命令。然后我用kafka connect把kafka的数据汇到mysql。 我可以通过执行以下命令在独立模式下很好地运行 kafka 连接: ./bin/connect-standalone ./etc/schema-registry/connect-avro-standalone.properties ./etc/kafka-connect-jdbc

  • 我们已经成功地使用了MySQL - 使用jdbc独立连接器的kafka数据摄取,但现在在分布式模式下使用相同的连接器(作为kafka connect服务)时面临问题。 用于独立连接器的命令,工作正常 - 现在,我们已经停止了这一项,并以分布式模式启动了kafka connect服务,如下所示 2 个节点当前正在运行具有相同连接服务。 连接服务已启动并正在运行,但它不会加载 下定义的连接器。 应该对

  • 我想使用 Confluent 的复制器将数据从一个系统复制到另一个系统。我正在使用两个Ubuntu 18.04系统,其中一个充当源,另一个充当目的地。 我尝试在分布式模式下运行kafka connect replicator,更改了以下配置: < li >在confluent/etc/Kafka/server . properties中,我做了以下更改 源 目的地 然后,我在源系统中创建了主题,并

  • 我有一个基于过程消费的大数据应用程序- 假设我的应用程序在一台机器上运行,我实例化了2个消费者,他们有自己的生产者,例如生产者1有事务ID - 如果我的应用程序在一台机器上工作,这完全可以正常工作,但是,事实并非如此,因为应用程序需要在多台机器上运行,因此当相同的代码在机器2上运行时,由机器2上的消费者实例化的生产者将具有与机器1上相同的事务ID。我希望事务ID的生成方式不会相互冲突,并且它们是可