如何让Kafka连接平衡任务/连接器?

hwazgwia  于 2021-06-04  发布在  Kafka
关注(0)|答案(0)|浏览(330)

我正在尝试运行一个kafka-connect分布式集群,它有5个worker和2个sink连接器。一个连接器配置为max.tasks和actual tasks设置为5。另一个连接器配置为6个任务。
如果我理解正确,这应该意味着13个“工作单元”(1个连接器+5个任务+1个连接器+6个任务),需要分配给工人。我认为这意味着每个工人大约有2-3个任务/连接器。
然而,我发现最终的任务如下:

Worker 0: (3 Work Units)
   - Connector 0
   - Connector 1 Task 0
   - Connector 1 Task 1

Worker 1: ( 4 Work units)
   - Connector 1
   - Connector 0 Task 0
   - Connector 0 Task 2
   - Connector 1 Task 3

Worker 2: (2 Work units)
   - Connector 0 Task 3
   - Connector 0 Task 4

Worker 3: (4 Work units)
   - Connector 0 Task 1
   - Connector 1 Task 2
   - Connector 1 Task 4
   - Connector 1 Task 5

Worker 4: ( 0 Work Units)

我正在使用运行2.6.0的kafka connect workers和针对2.6.0库构建的连接器。在编排系统(nomad)中,工人被部署为容器,并经历了几轮滚动重启/重新分配,但平衡似乎总是不平衡。
基于此,我发现自己在以下几点上不知所措:
我会发现,在重新启动或移动容器时,任务可能会变得有点不平衡,但我预计,一旦最后一个出现并加入集群,最终的平衡就会解决问题。有人能告诉我为什么这不会发生吗?
有没有一个推荐的方法来触发整个集群的再平衡?从文档中可以看出,更改连接器或工作进程失败/加入的配置可能会导致重新平衡,但这似乎不是一个理想的过程。
任务平衡过程是否可以配置或控制?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题