我正在使用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个不同的接收器(例如此用例)? 如果没有,该如何扩展该库以实现相同的库?
这里的任何帮助将不胜感激。
答案 0 :(得分:0)
您只需要一个集群。存储桶是可配置的属性(s3.bucket.name)
如果您使用不同的AWS S3凭据访问存储桶,则将需要单独的 Java进程(这可能会导致单独的集群,但不是必需的)