Kafka Connect Confluent S3 接收器连接器:找不到 Class io.confluent.connect.avro.AvroConverter
Kafka Connect Confluent S3 Sink Connector: Class io.confluent.connect.avro.AvroConverter could not be found
使用这个 Kafka Connect 连接器:
https://www.confluent.io/hub/confluentinc/kafka-connect-s3
我手动将其安装到我的 Kafka Connect Docker 映像的 /opt/kafka/plugins
中。
我的目的是使用 Kafka Connect 将 Avro 记录从 Kafka 主题写入 S3。
在运行时,使用 Kafka Connect,我收到错误:
ERROR Stopping due to error (org.apache.kafka.connect.cli.ConnectDistributed) [main]
org.apache.kafka.common.config.ConfigException: Invalid value io.confluent.connect.avro.AvroConverter for configuration key.converter: Class io.confluent.connect.avro.AvroConverter could not be found.
at org.apache.kafka.common.config.ConfigDef.parseType(ConfigDef.java:744)
at org.apache.kafka.common.config.ConfigDef.parseValue(ConfigDef.java:490)
at org.apache.kafka.common.config.ConfigDef.parse(ConfigDef.java:483)
at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:108)
at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:129)
at org.apache.kafka.connect.runtime.WorkerConfig.<init>(WorkerConfig.java:452)
at org.apache.kafka.connect.runtime.distributed.DistributedConfig.<init>(DistributedConfig.java:405)
at org.apache.kafka.connect.cli.ConnectDistributed.startConnect(ConnectDistributed.java:95)
at org.apache.kafka.connect.cli.ConnectDistributed.main(ConnectDistributed.java:80)
在 Confluent 开源中寻找 class 并查看其他 Confluent Kafka Connect 插件后,我的解决方案是从此处的 Confluent Kafka Connect Avro Converter 插件复制 kafka-connect-avro-converter-7.1.1.jar
:
https://www.confluent.io/hub/confluentinc/kafka-connect-avro-converter
进入confluentinc-kafka-connect-s3*/lib
目录。
这似乎行得通,但似乎有点老套,而且似乎应该有更好的支持、更简单的方法来让它工作。有没有更好的方法?
理想情况下,您应该使用 confluent-hub
添加连接器和转换器。
否则,是的,您将从 Maven Central 或 Confluent 存储库下载并提取相关包,然后添加到插件路径。
使用这个 Kafka Connect 连接器:
https://www.confluent.io/hub/confluentinc/kafka-connect-s3
我手动将其安装到我的 Kafka Connect Docker 映像的 /opt/kafka/plugins
中。
我的目的是使用 Kafka Connect 将 Avro 记录从 Kafka 主题写入 S3。
在运行时,使用 Kafka Connect,我收到错误:
ERROR Stopping due to error (org.apache.kafka.connect.cli.ConnectDistributed) [main]
org.apache.kafka.common.config.ConfigException: Invalid value io.confluent.connect.avro.AvroConverter for configuration key.converter: Class io.confluent.connect.avro.AvroConverter could not be found.
at org.apache.kafka.common.config.ConfigDef.parseType(ConfigDef.java:744)
at org.apache.kafka.common.config.ConfigDef.parseValue(ConfigDef.java:490)
at org.apache.kafka.common.config.ConfigDef.parse(ConfigDef.java:483)
at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:108)
at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:129)
at org.apache.kafka.connect.runtime.WorkerConfig.<init>(WorkerConfig.java:452)
at org.apache.kafka.connect.runtime.distributed.DistributedConfig.<init>(DistributedConfig.java:405)
at org.apache.kafka.connect.cli.ConnectDistributed.startConnect(ConnectDistributed.java:95)
at org.apache.kafka.connect.cli.ConnectDistributed.main(ConnectDistributed.java:80)
在 Confluent 开源中寻找 class 并查看其他 Confluent Kafka Connect 插件后,我的解决方案是从此处的 Confluent Kafka Connect Avro Converter 插件复制 kafka-connect-avro-converter-7.1.1.jar
:
https://www.confluent.io/hub/confluentinc/kafka-connect-avro-converter
进入confluentinc-kafka-connect-s3*/lib
目录。
这似乎行得通,但似乎有点老套,而且似乎应该有更好的支持、更简单的方法来让它工作。有没有更好的方法?
理想情况下,您应该使用 confluent-hub
添加连接器和转换器。
否则,是的,您将从 Maven Central 或 Confluent 存储库下载并提取相关包,然后添加到插件路径。