Kafka Connect S3动态S3文件夹结构创建?

时间:2019-04-24 01:45:12

标签: amazon-web-services amazon-s3 apache-kafka apache-kafka-connect confluent

我有manually installed Confluent Kafka Connect S3使用独立方法,而不是通过Confluent的流程或整个平台的一部分。

我可以使用以下命令从命令行成功启动连接器:

./kafka_2.11-2.1.0/bin/connect-standalone.sh connect.properties s3-sink.properties
可以看到,来自AWS MSK

主要CDC偏移量已被消耗。没有引发任何错误。但是,在AWS S3中,不会为新数据创建文件夹结构,也不会存储JSON数据。

问题

  1. 连接器应该动态地创建文件夹结构吗? 看到第一个主题的JSON数据包?
  2. 除了配置 awscli凭证,connect.properties和s3-sink.properties是 还有其他任何设置需要正确连接到 S3存储桶?
  3. 有关安装文档的建议更多 比Confluent网站上的独立文档更全面? (以上链接)

connect.properties

  

bootstrap.servers =已修订:9092,已修订:9092,已修订:9092

     

plugin.path = / plugins / kafka-connect-s3 key.converter = org.apache.kafka.connect.json.JsonConverter   value.converter = org.apache.kafka.connect.json.JsonConverter   key.converter.schemas.enable = false   value.converter.schemas.enable = false   internal.key.converter = org.apache.kafka.connect.json.JsonConverter   internal.value.converter = org.apache.kafka.connect.json.JsonConverter   internal.key.converter.schemas.enable = false   internal.value.converter.schemas.enable = false   offset.storage.file.filename = / tmp / connect.offsets

s3-sink.properties

  

名称= s3-接收器连接器.class = io.confluent.connect.s3.S3SinkConnector   task.max = 1   topic = database_schema_topic1,database_schema_topic2,database_schema_topic3   s3.region =美国东部-2 s3.bucket.name =数据库kafka s3.part.size = 5242880   flush.size = 1 storage.class = io.confluent.connect.s3.storage.S3Storage   format.class = io.confluent.connect.s3.format.json.JsonFormat   schema.generator.class = io.confluent.connect.storage.hive.schema.DefaultSchemaGenerator   partitioner.class = io.confluent.connect.storage.partitioner.DefaultPartitioner   schema.compatibility =无

1 个答案:

答案 0 :(得分:1)

连接器在看到某个主题的第一个JSON数据包时是否应该动态创建文件夹结构? 是的,即使您使用参数“ topics.dir”和“ path.format”控制该路径(目录结构)

除了配置awscli凭据外,connect.properties和s3-sink.properties是否还需要设置其他设置以正确连接到S3存储桶? 默认情况下,S3连接器将通过环境变量或凭据文件使用Aws凭据(访问ID和秘密密钥)。 您可以通过修改参数“ s3.credentials.provider.class”进行更改。该参数的默认值为“ DefaultAWSCredentialsProviderChain”

关于安装文档的建议比Confluent网站上的独立文档更全面? (以上链接) 我建议您使用分布式模式,因为它为连接群集和在其上运行的连接器提供了高可用性。 您可以阅读以下文档,以分布式模式配置连接集群。 https://docs.confluent.io/current/connect/userguide.html#connect-userguide-dist-worker-config