kafka connect s3连接器内存分配

jckbn6z7  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(334)

由于java.lang.outofmemoryerror,我的s3连接器(下面的配置)失败。
据我从不同的文章(例如这里)了解,内存分配大约是(s3部分大小)(#kafka分区)(#分区器创建的分区)。
我正在阅读一个60个分区的主题,我的分区程序可以创建几十个分区,最小的s3.part.size是5 mb(由连接器强制执行,我会满意5%)。
这是否意味着我不能使用小于60550=15000 mb的堆大小?这只是为了这个连接器?
有没有其他配置可以帮助我减少分配的内存?
连接器配置:

{
    "name": "test-processed-to-fake-dlk-6",
    "config": {
        "name": "test-processed-to-fake-dlk-6",
        "connector.class": "io.confluent.connect.s3.S3SinkConnector",
        "s3.region": "us-east-1",
        "topics.dir": "",
        "flush.size": "400",
        "schema.compatibility": "NONE",
        "tasks.max": "1",
        "topics": "raw-events-dev",
        "s3.part.size": "5242880",
        "timezone": "UTC",
        "format.class": "io.confluent.connect.s3.format.json.JsonFormat",
        "partitioner.class": "io.confluent.connect.storage.partitioner.DefaultPartitioner",
        "schema.generator.class": "io.confluent.connect.storage.hive.schema.DefaultSchemaGenerator",
        "value.converter": "com.naturalint.kafka.connect.storage.SafeJsonConverter",
        "storage.class": "io.confluent.connect.s3.storage.S3Storage",
        "s3.bucket.name": "eventstestkinesis",
        "rotate.schedule.interval.ms": "60000"
    }
}
gcxthw6b

gcxthw6b1#

在此基础上对内存分配和分区数优化进行了说明。
我的主题吞吐量小于1mb/s,所以60个分区看起来像是一个巨大的过度消耗。
我将分区的数量减少到6个,现在情况看起来很稳定。

相关问题