You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debezium 2.0中Confluent AvroConverter无法正常使用求助

问题:Debezium 2.0手动注入Confluent Avro Converter失败

Debezium 2.0版本移除了io.confluent.connect.avro.AvroConverter组件,我尝试手动下载该组件并注入到Debezium Connect部署中,但始终出现如下错误:

错误截图

我的简化K8s部署配置如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: debezium
spec:
  template:
    spec:
      initContainers:
        - name: download-kafka-connect-plugins
          image: alpine:3.16.2
          command:
            - sh
          args:
            - -c
            - |
              wget https://packages.confluent.io/maven/io/confluent/kafka-connect-avro-converter/7.2.2/kafka-connect-avro-converter-7.2.2.jar
              cp kafka-connect-avro-converter-7.2.2.jar /kafka/connect-plugins

          volumeMounts:
            - name: kafka-connect-plugins
              mountPath: /kafka/connect-plugins

      volumes:
        - name: kafka-connect-plugins
          emptyDir: {}

      containers:
        - name: debezium-intelipost
          image: debezium/connect:2.0.0.Final

          volumeMounts:
            - name: kafka-connect-plugins
              mountPath: /kafka/connect-plugins

          env:
            - name: KAFKA_CONNECT_PLUGINS_DIR
              value: /kafka/connect-plugins

我还尝试注入kafka-schema-registry-client等相关组件,仍然无法正常运行。请问有没有人遇到过类似问题?


解决建议
  • 完整下载所有依赖包
    单独只下载kafka-connect-avro-converter.jar不足以满足运行需求,该组件依赖大量Confluent类库(如Schema Registry客户端、通用工具包、Avro序列化包等)。可以用Maven的mvn dependency:copy-dependencies命令,针对io.confluent:kafka-connect-avro-converter:7.2.2导出所有依赖jar包,再将所有jar包统一放入插件目录。

  • 调整插件目录结构
    Kafka Connect要求每个插件存放在独立子目录中,不能直接将所有jar包放在根插件目录下。修改Init容器脚本,创建专属子目录并存放所有相关jar包:

    mkdir -p /kafka/connect-plugins/kafka-connect-avro-converter
    # 下载主jar包到子目录
    wget -P /kafka/connect-plugins/kafka-connect-avro-converter https://packages.confluent.io/maven/io/confluent/kafka-connect-avro-converter/7.2.2/kafka-connect-avro-converter-7.2.2.jar
    # 在此处添加所有依赖jar包的下载命令,统一放入该子目录
    
  • 验证版本兼容性
    确认Confluent组件版本与Debezium 2.0适配的Kafka版本兼容:Debezium 2.0.0.Final基于Kafka 3.2.3,建议搭配Confluent 7.2.x版本(与Kafka 3.2.x兼容),避免版本不匹配引发类加载异常。

  • 改用Confluent基础镜像构建
    若手动管理依赖过于繁琐,可基于Confluent官方cp-kafka-connect镜像构建自定义Debezium镜像,直接集成Avro Converter组件,规避手动注入带来的类路径问题。


内容的提问来源于stack exchange,提问作者Jonathan Chevalier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 20:55:21