融合kafka-connect-s3同一源多个接收器

时间:2020-03-03 13:18:47

标签: amazon-s3 apache-kafka apache-kafka-connect

我正在使用Confluent's Kafka s3 connect将数据从apache Kafka复制到AWS S3。对于我们的用例,我们想将数据从Kafka复制到多个S3存储桶。

一个具有这样的分区策略的S3存储桶-

s3.bucket.name=kafka-s3-test1
partitioner.class=io.confluent.connect.storage.partitioner.TimeBasedPartitioner
timestamp.extractor=Wallclock
locale=US
timezone=UTC
partition.duration.ms=3600000
path.format='ds'=YYYY-MM-dd/'hour'=HH

另一个具有这种分区策略的S3存储桶-

s3.bucket.name=kafka-s3-test2
partitioner.class=com.custom.CustomFieldPartitioner
partition.field.name= eventPlatform, eventType, eventDate

一种明显的方法是为每个接收器维护2个不同的kafka-connect群集。 我想知道是否有一种方法可以将相同的数据发送到2个不同的接收器(例如此用例)? 如果没有,该如何扩展该库以实现相同的库?

这里的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您只需要一个集群。存储桶是可配置的属性(s3.bucket.name)

如果您使用不同的AWS S3凭据访问存储桶,则将需要单独的 Java进程(这可能会导致单独的集群,但不是必需的)