Strimzi / Kafka Connect 找不到我的插件

Posted

技术标签:

【中文标题】Strimzi / Kafka Connect 找不到我的插件【英文标题】:Strimzi / Kafka Connect does not find my plugin 【发布时间】:2022-01-15 09:40:35 【问题描述】:

我正在使用StrimziKafkaKafka Connect 和一个自定义连接器插件,遵循this docs。

部署工作正常,Kafka Connect 工作正常,我可以使用它的RESTFUL API

但是没有创建连接器。这是错误信息:

未能找到任何实现连接器的类和名称 匹配 org.company.MySourceConnector

我知道原因:它没有找到插件(一个 jar 文件)。但是如果我进入 kafka-connect pod,我可以在正确的位置(我想)看到 jar 文件:/opt/kafka/plugins/my-source-connector/my-source-connector.jar

此外,我运行 cat /tmp/strimzi-connect.properties 并看到插件路径:plugin.path=/opt/kafka/plugins/。 (该文件由 srimzi 在部署期间创建)

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnect
metadata:
  name: kafka-connect
  annotations:
    strimzi.io/use-connector-resources: "true"
spec:
  replicas: 1
  bootstrapServers: kafka-kafka-bootstrap:9092
  image: " .Values.image.repository : .Values.image.tag "
  config:
    group.id: connect-cluster
    ...

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaConnector
metadata:
  name: my-connector
  labels:
    strimzi.io/cluster: kafka-connect
spec:
  class: org.company.MySourceConnector
  tasksMax: 1
  config:
    topic: my-topic
    name: my-connector

如何配置StrimziKafka Connect 来查找我的插件?

我用尽了所有资源。如果有人能对此有所了解,我将不胜感激。

【问题讨论】:

您可以查看 KafkaConnect 资源的状态,找到了哪些插件。您可以仔细检查名称等是否正确。您还需要确保连接器的所有依赖项也位于同一目录中。您还应该检查路径是否正确。你说你的插件在/opt/kafka/plugins,但说插件路径是/opt/kafka/plugin(即最后没有s)。 我打错了路径。我编辑了帖子。我再次检查了这些东西,据我了解,这似乎还可以。感谢您的宝贵时间。 我不明白 Strimzi 与该问题有何关系。独立运行容器,它应该运行 Connect 进程,您可以在其中验证是否可以创建连接器 【参考方案1】:

我发现jar文件已损坏。

【讨论】:

以上是关于Strimzi / Kafka Connect 找不到我的插件的主要内容,如果未能解决你的问题,请参考以下文章

Kafka Connect 使用带有 Strimzi 的 REST API 和种类:KafkaConnector

使用 Strimzi 对 Kafka 的外部访问

Strimzi kafka 出口商 kafka_consumergroup_members 指标

如何在 Strimzi 中使用 Kafka 连接

Strimzi 操作员 Kafka 集群 ACL 未启用类型:简单

Strimzi Kafka Bridge(桥接)实战之一:简介和部署