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

Kafka 连接连接器限制为每个主题一个接收器任务

傅星光
2023-03-14

我使用自己的自定义Sink插件运行Kafka Connect集群(本地有1个工人Docker Compose)。我想在连接器中使用几个主题:topicA、topicB、topicC,每个主题都有一个分区。

我的连接器启动时的配置子集如下:

...
"topics": "topicA,topicB,topicC",
"tasks.max": 3,
...

使用此配置,我希望Kafka Connect为每个接收器任务分配一个主题,但遗憾的是,这不是我看到的。实践中发生的情况是,为分配了所有主题的每个任务调用SinkTask::open。每个接收器任务也会看到来自多个主题的记录,而不仅仅是一个主题。我可以确认所有任务都显示为正在运行。

除了上述配置之外,我是否需要启用任何东西来启用Kafka Connect以将一个接收器任务映射到一个主题?这是只有一个工作人员和Kafka Connect没有将任务拆分为同一工作人员上的单独线程的结果吗?

共有2个答案

陈淳
2023-03-14

最后,我创造性地使用了SinkTaskContext的< code>pause()和< code>resume()方法。Kafka Connect将方便地调用< code>open(...)在消费者订阅的主题分区上,在该挂钩内是暂停您不感兴趣的主题的好机会。

见https://Kafka . Apache . org/26/javadoc/org/Apache/Kafka/connect/sink/sink task context . html

姚信鸥
2023-03-14

根据我的经验,做你要求的事情的唯一方法是用一个主题创建3个不同的连接器。

更具体地说,给出一个列表或主题模式将简单地为所有可用的消费者订阅整个列表。

我个人没有看到任何方法可以准确控制任务如何重新平衡或分配给主题或其分区。您可以在Connect中修改消费者客户端设置,但仅限在分配任务之后。

 类似资料:
  • 分布式模式下Kafka Connect集群的偏移管理行为是什么,即运行多个连接器并监听同一组主题(或一个主题)? 因此,在分布式模式下,Kafka Connect 会将偏移量信息存储在 Kafka 中,此偏移量将由集群中的工作线程读取和提交。如果我在该 Kafka Connect 集群中运行多个连接器侦听同一主题,会发生什么情况?分区的偏移量是否与所有连接器相同,或者每个连接器在分区上的偏移量是否

  • 我想使用Kafka Connect通过CDC检测Postgres DB上一组表的更改,并将它们作为单个主题中的消息推送,其中键作为主表的逻辑键。 这将使使用者能够以正确的顺序使用数据更改,以便将其应用于目标数据库。 是否有源和汇连接器允许我实现这个目标? 我正在使用Debezium CDC源连接器进行Postgres。。。我可以将其配置为将所有表的所有消息路由到一个主题中。 但是,我无法找到能够使

  • 正如我从留档和其他引用中看到的,连接器似乎将使用单个任务实例化,无论通过属性定义的值是多少(tasks.num) 分布式Mongodb Kafka源代码连接器,多任务不工作 Kafka Connect中连接器和任务之间的关系是什么 < li >此属性< code>tasks.num是否会产生任何影响,例如在故障转移等情况下..?比方说,如果< code>tasks.num配置为2,并且一个jdbc

  • 我在我们的Kafka(Avro)事件上使用conFluentinc/kafka-connect-bigquery。在某些主题上,我们有不止一种事件类型,例如,和在主题上。 模式注册表中的主题如下所示。 我的

  • 我正在尝试将来自主题的数据(json数据)写入MySql数据库。我想我需要一个JDBC接收器连接器。 我如何配置连接器以将主题中的json数据映射到如何将数据插入数据库。 我能找到的文件只有这个。 “接收器连接器需要了解架构,因此您应该使用合适的转换器,例如架构注册表附带的Avro转换器,或启用了架构的JSON转换器。如果存在Kafka记录键,则可以是基元类型或连接结构,记录值必须是连接结构。从连

  • 我有一个Kafka连接接收器记录从Kafka主题到S3。它在工作,但太慢了。Kafka主题每秒接收约30000条消息。连接接收器无法跟上。我已经尝试增加Kafka连接器的任务。最大值从1到3,这会创建更多任务,但这似乎无助于提高消息/秒的速度。我试着增加Kafka连接工人的CPU分配,这似乎也没有帮助。 我还能试什么?哪些指标有助于监控以进一步识别瓶颈? 更新:Kafka主题有5个分区。Kafka