Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 合流kafka-connect-s3同源多汇_Amazon S3_Apache Kafka_Apache Kafka Connect - Fatal编程技术网

Amazon s3 合流kafka-connect-s3同源多汇

Amazon s3 合流kafka-connect-s3同源多汇,amazon-s3,apache-kafka,apache-kafka-connect,Amazon S3,Apache Kafka,Apache Kafka Connect,我使用它将数据从ApacheKafka复制到AWSS3。对于我们的用例,我们希望将数据从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.

我使用它将数据从ApacheKafka复制到AWSS3。对于我们的用例,我们希望将数据从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
一个明显的方法是为每个接收器维护两个不同的kafka connect集群。 我想知道是否有办法将相同的数据发送到两个不同的接收器(如本用例)? 如果没有,我如何扩展这个库来实现相同的功能


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

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


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

谢谢。我已经更新了属性文件片段,以包括bucket名称。这两个存储桶位于同一AWS帐户中。所以这不是问题所在。但是如何在同一java进程中使用两个不同的s3-sink.property文件呢?
connect-standalone.sh worker.properties s3-sink1.properties s3-sink2.properties
。。。或者您应该运行
connectdistributed
,因为它的容错性非常好。我试着像这样使用“connect-standalone.sh worker.properties s3-sink1.properties s3-sink2.properties”,但事件被推送到sink1或sink2,而不是两者。我可以看到在sink1中出现的事件,但在sink2中没有。因此,不确定这是否是这个用例的正确解决方案。它向您保证它是正确的。请验证您的主题是否已积极生成。。让我生成一些测试数据并再次检查。另一方面,如果我使用上面提到的2个接收器,Kafka connect是否在内部维护事务?如果Kafka connect在将数据写入其中一个接收器后崩溃,会发生什么情况?在这种情况下,两个接收器将使用相同的卡夫卡偏移量,因此如何处理故障?