9.4. 指定最多的任务数
连接器创建负责在 Kafka 中移动数据的任务。每个连接器由一个或多个在运行任务的 worker pod 进行分组的任务组成。在复制大量分区或同步大量消费者组的偏移时,增加任务数量可以帮助解决性能问题。
任务并行运行。为 worker 分配一个或多个任务。单个任务由一个 worker pod 处理,因此您不需要多个 worker pod 而不是任务。如果有多个任务,worker 会处理多个任务。
您可以使用 tasks.max
属性在 MirrorMaker 配置中指定最大连接器任务数量。在不指定最多任务数量的情况下,默认设置是一个任务。
heartbeat 连接器始终使用单个任务。
为源和检查点连接器启动的任务数量是 tasks.max 的最大任务数和 tasks.max
的值之间的较低值。对于源连接器,可能的最大任务数量是从源集群复制的每个分区。对于检查点连接器,可能的最大任务数都是从源集群复制的每个消费者组。在设置最多任务数量时,请考虑分区数量和支持进程的硬件资源。
如果基础架构支持处理开销,增加任务数量可以提高吞吐量和延迟。例如,当有大量分区或消费者组时,添加更多任务可减少轮询源集群的时间。
MirrorMaker 连接器的 tasks.max 配置
clusters=cluster-1,cluster-2 # ... tasks.max = 10
clusters=cluster-1,cluster-2
# ...
tasks.max = 10
默认情况下,M MirrorMaker 2 每 10 分钟检查新的消费者组。您可以调整 refresh.groups.interval.seconds
配置以更改频率。调整降低时要小心。更频繁地检查会对性能造成负面影响。