如何让 Kafka Connect 均匀地平衡任务/连接器?

2024-02-28

我尝试运行一个包含 5 个工作线程和 2 个接收器连接器的 Kafka Connect 分布式集群。一个连接器配置为 max.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 工作线程和针对 2.6.0 库构建的连接器。工作人员被部署为编排系统(Nomad)中的容器,并经历了几轮滚动重启/重新分配,但平衡似乎总是不平衡。

基于此,我发现自己对以下内容感到不知所措:

  • 我知道在重新启动或移动容器时任务可能会有点不平衡,但我希望一旦最后一个容器出现并加入集群,最终的平衡就会解决问题。有人能指出我为什么这可能不会发生吗?
  • 是否有推荐的方法来触发整个集群的重新平衡?从文档来看,更改连接器的配置或工作人员失败/加入可能会导致重新平衡,但这似乎不是一个理想的过程。
  • 可以以任何方式配置或控制任务平衡过程吗?

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 Kafka Connect 均匀地平衡任务/连接器? 的相关文章

随机推荐