Strimzi Kafka S3 Sink报ProtobufConverter类找不到错误
问题根因
- 核心报错直接原因:Strimzi官方提供的默认Kafka Connect镜像未内置Confluent Protobuf Converter组件,
io.confluent.connect.protobuf.ProtobufConverter属于Confluent Schema Registry配套的序列化转换插件,不在默认镜像的插件加载路径中,因此连接器启动时无法找到对应类抛出异常。 - 现有配置存在3处额外不匹配问题:
- 生产者代码中消息Key使用
StringSerializer序列化为普通字符串,并非Protobuf格式,当前连接器给key.converter配置ProtobufConverter本身不符合数据格式,即使插件安装完成也会抛出Key序列化失败错误。 - 生产者写入的Topic名为
protos_topic_cards,连接器配置的消费Topic为testing-stack-overflow-topic,二者名称不匹配,即使其他配置正常也无法消费到对应数据。 - 转换器配置中Schema Registry地址写为
localhost:8081,在Kubernetes集群环境中该地址指向Kafka Connect容器自身,无法访问到实际部署的Schema Registry服务,后续会触发连接失败错误。
- 生产者代码中消息Key使用
解决方案
- 构建包含Protobuf Converter插件的自定义Kafka Connect镜像
以你当前使用的同版本Strimzi Kafka Connect镜像为基础,将和Schema Registry版本匹配的kafka-connect-protobuf-converter插件包解压到镜像内的/opt/kafka/plugins/对应目录下,保证插件路径被Kafka Connect的插件扫描机制识别。参考Dockerfile示例:
镜像构建完成后推送到你的私有镜像仓库,修改KafkaConnect自定义资源的# *基础镜像版本必须和你当前集群运行的Strimzi Kafka Connect版本完全一致* FROM quay.io/strimzi/kafka:0.38.0-kafka-3.6.0 USER root:root # 将提前下载好的对应版本Protobuf Converter压缩包拷贝到镜像内并解压到插件目录 COPY kafka-connect-protobuf-converter.zip /tmp/ RUN mkdir -p /opt/kafka/plugins/protobuf-converter \ && unzip /tmp/kafka-connect-protobuf-converter.zip -d /opt/kafka/plugins/protobuf-converter \ && rm /tmp/kafka-connect-protobuf-converter.zip USER 1001spec.image字段为自定义镜像地址,等待集群滚动重启完成后插件即可被正常加载。 - 修正连接器转换器配置
由于消息Key为字符串格式,将Key转换器修改为StringConverter,删除Key相关的Protobuf专属配置,Value部分保留ProtobufConverter配置,同时修正Schema Registry地址为K8s集群内可访问的Service地址。修正后的核心配置段如下:config: # 其余原有S3相关配置保持不变,仅调整转换器相关配置 key.converter: "org.apache.kafka.connect.storage.StringConverter" value.converter: "io.confluent.connect.protobuf.ProtobufConverter" # *注意不要使用localhost作为地址,需填写K8s集群内Schema Registry对应的Service DNS地址* value.converter.schema.registry.url: "http://<schema-registry对应的K8s服务名>:8081" value.converter.schemas.enable: true - 修正Topic名称匹配问题
统一连接器和生产者侧的Topic名称,要么将连接器配置中topics字段修改为生产者实际写入的protos_topic_cards,要么将生产者代码中指定的Topic名改为连接器配置的testing-stack-overflow-topic,保证消费侧和生产侧的Topic名称完全一致。
内容的提问来源于stack exchange,提问作者Nicholas Rinaldi
相关产品推荐
相关产品推荐

