gpt4 book ai didi

apache-kafka - 如何设置 kafka-connect 连接器和任务的 JVM 堆大小?

转载 作者:行者123 更新时间:2023-12-04 04:43:46 37 4
gpt4 key购买 nike

kafka 连接是否在 kafka 连接过程中启动新的连接器及其任务?或者一个新的 JVM 进程将被 fork 。

如果它在 kafka 连接过程中启动插件,那么我需要通过 KAFKA_CONNECT_JVM_HEAP_OPT 设置 kafka 连接 JVM 堆大小(使用融合的 docker 图像)。那么问题来了,如果我启动了很多task或者很多connectors,它们会共享JVM堆,所以很难决定kafka connect的堆大小。

如果对于每个连接器,kafka connect 在一个新的 JVM 进程中启动它们,我如何为它们设置堆大小?

最佳答案

Kafka Connect 基本支持 Multi-Tenancy 。具体来说,您可以在同一个 Connect 工作器中捆绑多个连接器实例。

每个 Connect 工作器始终映射到单个 JVM 实例。启动新连接器的请求不会导致产生新的 JVM 实例。但连接 worker 与相同 group.id形成一个 Connect worker 集群。然后,连接器任务在 Connect 集群中的工作器之间分配。

可以使用以下方法轻松设置 Connect worker 的堆大小:
export KAFKA_HEAP_OPTS="-Xms256M -Xmx2G" (此示例使用默认值)

或者,当使用 docker 镜像时,通过设置:
-e CONNECT_KAFKA_HEAP_OPTS="-Xms256M -Xmx2G" (此示例再次使用默认值)

Connect worker 可以水平扩展。在 Connect 集群中添加更多工作人员会为您的部署增加内存和计算资源。如果您需要对 Connect 部署应用更具体和更严格的内存预算,您可以选择将特定连接器分组到每个 Connect 集群,或者甚至在某些情况下为每个 Connect 集群部署一个连接器实例。

关于apache-kafka - 如何设置 kafka-connect 连接器和任务的 JVM 堆大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50621962/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com