我正在做 confluent kafka connect 5.2.3 版的 poc。我们正在尝试将主题的消息复制到一个文件作为备份,并在需要时从该文件中复制回主题。
主题有 Key =string Value=protbuf
我在用
key.convertor=org.apache.kafka.connect.storgare.StringConvertor
value.convertor=com.blueapron.connect.protobuf.ProtobufConvertor
value.convertor.protoClassName=<proto class name>
接收器配置
name=test
connector.class=FileStreamSink
tasks.max=1
file=test.txt
topics=testtopic
源配置
name=test
connector.class=FileStreamSource
tasks.max=1
file=test.txt
topics=testtopic_connect
我能够成功地将其下沉到文件内容如下的文件中
Struct{<message in name value pair>}
Struct{<message in name value pair>}
……
我用同一个文件将它返回到不同的主题。当我运行源它抛出错误
字符串不能转换为 org.apache.kafka.connect.data.Struct。
问题是
- 当我的 kafka 主题具有键值对时,为什么我在文件中看不到任何键。
- 为什么源无法将内容从文件复制到主题并引发与投射相关的错误。
- 当我使用 kafka 提供的 ByteArrayConvertor 时,我得到了类似的错误。字符串不能转换为字节。理想情况下 ByteArrayConvertor 应该适用于任何类型的数据。
- blueapron 是否仅适用于 protobuf3 版本?