【发布时间】:2020-03-13 12:57:45
【问题描述】:
我正在尝试在我们的环境中生产化 kafka connect。出于基础要求的目的,我正在寻找如何估计每个节点所需的 JVM 堆大小。我有两个主题想通过 s3 连接器沉入 s3。我没有看到任何好的文章来达到估计值。有人可以指导我吗?
【问题讨论】:
标签: apache-kafka apache-kafka-connect
我正在尝试在我们的环境中生产化 kafka connect。出于基础要求的目的,我正在寻找如何估计每个节点所需的 JVM 堆大小。我有两个主题想通过 s3 连接器沉入 s3。我没有看到任何好的文章来达到估计值。有人可以指导我吗?
【问题讨论】:
标签: apache-kafka apache-kafka-connect
没有很好的指南,因为连接器的可配置性太强。
例如,每个任务 (max.tasks) 将批处理记录直到刷新大小 (flush.size),然后将其转储到存储中。
如果您使用的是 DefaultPartitoner,您可以估计每个分区存储了多少记录,然后每个节点将运行多少任务,然后您正在使用的总主题数,并得出一个粗略的号码。
如果您使用 TimeBasedPartitioner,则需要考虑分区持续时间和计划的轮换间隔。我可以说 8GB RAM 能够从每小时分区上的几个分区写入多个 GB 文件,所以我认为你不需要比这更多的堆来启动。
至于其他文档,在这个问题https://github.com/confluentinc/kafka-connect-storage-cloud/issues/177中有一个不错的描述
【讨论】: