Kafka Connect HDFS 配置设置?

Kafka Connect HDFS configuration setting?

我想配置 Kafka Connect 将尽可能多的记录写入 HDFS(我需要每天写入大约 100B 条记录,每条记录大约 1.2Kb)。

我有 256GB RAM 的 Kafka 服务器。

我正在尝试配置以下设置:

flush.size=305000
tasks.max=215

Kafka 主题有 215 个分区。 有了这个设置,我得到了例外:

Java heap space OutOfMemoryException

还有:

    flush.size=305000
    tasks.max=10

对于具有 10 个分区的 Kafka 主题,这工作正常但在 10 分钟内仅写入大约 40-50M 记录,使用此配置我有很大的滞后(大约 1.5B)。

如何计算Kafka connect的最大配置?

谢谢。

如果您没有将 Java 堆大小设置为大于默认值,那么您的 Kafka 服务器 RAM 的大小并不重要。

这同样适用于 Kafka Connect...这将有助于解决 OOM 错误

如果您有 10 个分区,您将需要 运行 10 个任务 分布式 模式 中,而不是独立的.这将扩展消费者进程,如果你想让它运行得更快,运行 它在 10 台单独的机器上(或几台机器并使用 Docker 容器)

我知道您可以计算在给定刷新中可以获得的最大消息量的唯一方法是在连接进程上使用 JMX 监视来监视已使用的堆 space。不过,每天在 10 个分区中记录 100B 条记录很多,您可能希望增加该值