KafkaからのデータをKafka Connectを使用してバケットs3に保存します。すでにKafkaのトピックを実行していて、バケットs3を作成しました。私のトピックProtobufferにデータがあり、 https://github.com/qubole/streamx を試してみましたが、次のエラーが発生しました:
[2018-10-04 13:35:46,512] INFO Revoking previously assigned partitions [] for group connect-s3-sink (org.Apache.kafka.clients.consumer.internals.ConsumerCoordinator:280)
[2018-10-04 13:35:46,512] INFO (Re-)joining group connect-s3-sink (org.Apache.kafka.clients.consumer.internals.AbstractCoordinator:326)
[2018-10-04 13:35:46,645] INFO Successfully joined group connect-s3-sink with generation 1 (org.Apache.kafka.clients.consumer.internals.AbstractCoordinator:434)
[2018-10-04 13:35:46,692] INFO Setting newly assigned partitions [ssp.impressions-11, ssp.impressions-10, ssp.impressions-7, ssp.impressions-6, ssp.impressions-9, ssp.impressions-8, ssp.impressions-3, ssp.impressions-2, ssp.impressions-5, ssp.impressions-4, ssp.impressions-1, ssp.impressions-0] for Group connect-s3-sink(org.Apache.kafka.clients.consumer.internals.ConsumerCoordinator:219)
[2018-10-04 13:35:47,193] ERROR Task s3-sink-0 threw an uncaught an unrecoverable exception (org.Apache.kafka.connect.runtime.WorkerTask:142)
Java.lang.NullPointerException
at io.confluent.connect.hdfs.HdfsSinkTask.close(HdfsSinkTask.Java:122)
at org.Apache.kafka.connect.runtime.WorkerSinkTask.commitOffsets(WorkerSinkTask.Java:290)
at org.Apache.kafka.connect.runtime.WorkerSinkTask.closePartitions(WorkerSinkTask.Java:421)
at org.Apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.Java:146)
at org.Apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.Java:140)
at org.Apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.Java:175)
at Java.util.concurrent.Executors$RunnableAdapter.call(Executors.Java:511)
at Java.util.concurrent.FutureTask.run(FutureTask.Java:266)
at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1142)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:617)
at Java.lang.Thread.run(Thread.Java:745)
[2018-10-04 13:35:47,194] ERROR Task is being killed and will not recover until manually restarted (org.Apache.kafka.connect.runtime.WorkerTask:143)
[2018-10-04 13:35:51,235] INFO Reflections took 6844 ms to scan 259 urls, producing 13517 keys and 95788 values (org.reflections.Reflections:229)
私は次のステップを行いました:
mvn DskipTests package
nano config/connect-standalone.properties
bootstrap.servers=ip-myip.ec2.internal:9092
key.converter=com.qubole.streamx.ByteArrayConverter
value.converter=com.qubole.streamx.ByteArrayConverter
nano config/quickstart-s3.properties
name=s3-sink
connector.class=com.qubole.streamx.s3.S3SinkConnector
format.class=com.qubole.streamx.SourceFormat tasks.max=1
topics=ssp.impressions
flush.size=3
s3.url=s3://myaccess_key:mysecret_key@mybucket/demo
connect-standalone /etc/kafka/connect-standalone.properties quickstart-s3.properties
私が行ったことが大丈夫か、またはKafkaからS3にデータを保持する別の方法かどうかを知りたいのですが。
Kafka Connect S3コネクタでKafka Connectを使用してこの統合を行うことができます。
Kafka Connect はApache Kafkaの一部であり、 S3コネクタ は standalone または の一部として利用可能なオープンソースコネクタですConfluent Platform 。
Kafka Connectの一般的な情報と例については、この一連の記事が役立ちます。
免責事項:私はConfluentで働いており、上記のブログ記事を書きました