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

Kafka S3 Sink Connector出现Didn't find secondary deserializer错误求助

错误根因

Didn't find secondary deserializer是AWS Glue Schema Registry的Kafka转换器在反序列化消息时,无法匹配到对应数据格式的反序列化实现导致的,常见触发原因有三类:

  • 配置冲突:你同时配置了key.converter.schemas.enable=false,但AWSKafkaAvroConverter反序列化Avro时必须依赖Schema信息,该参数是Confluent系列转换器的专属配置,对AWS转换器不适用,配置后会阻断转换器读取Schema的逻辑
  • 消息格式不匹配:Topic消息的Key实际并未使用AWS Schema Registry序列化的Avro格式,比如Debezium同步的MySQL binlog消息的Key通常是主键原生字节/字符串,和你配置的转换器预期格式不符
  • 依赖缺失:Kafka Connect集群的classpath下缺少完整的AWS Schema Registry序列化依赖包,或是依赖版本和消息序列化时使用的SDK版本不兼容
排查步骤
  • 先验证Topic消息的真实序列化格式,用官方工具直接消费测试:
    kafka-console-consumer --bootstrap-server <Kafka集群地址> --topic mysql-db01.devdb.table1 \
    --property print.key=true --property key.deserializer=com.amazonaws.services.schemaregistry.deserializers.avro.AWSKafkaAvroDeserializer \
    --property key.deserializer.region=ap-south-1 --from-beginning --max-messages 1
    
    如果命令执行报错,说明Key确实不是AWS Avro序列化格式
  • 登录AWS控制台检查Glue Schema Registry中是否存在对应Topic Key的Schema注册记录,确认Schema版本和消息序列化时使用的版本一致
  • 检查Kafka Connect节点的IAM权限,是否已开通glue:GetSchemaVersion、glue:GetSchema等Schema Registry访问权限
解决方案

按优先级调整配置即可解决:

  1. 先删除所有key.converter.schemas.enable=false、value.converter.schemas.enable=false的配置项,AWSKafkaAvroConverter不需要该参数,配置后反而会导致反序列化异常
  2. 如果验证后确认消息Key不是AWS Avro格式,直接修改Key的转换器为通用转换器即可,只保留Value用AWS Avro转换器:
    "key.converter": "org.apache.kafka.connect.converters.ByteArrayConverter",
    "key.converter.schemas.enable": "false"
    
  3. 如果需要兼容部分非Avro格式的消息,直接添加降级反序列化器配置:
    "key.converter.secondaryDeserializer": "org.apache.kafka.common.serialization.ByteArrayDeserializer",
    "value.converter.secondaryDeserializer": "org.apache.kafka.common.serialization.ByteArrayDeserializer"
    
  4. 最后确认Kafka Connect集群已部署对应版本的AWS Schema Registry依赖包,重启连接器即可生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 23:45:02