如何使用kcat工具生产符合Schema的Kafka消息?
正确的kcat生产Kafka消息方法
你的错误根源是没有正确指定从文件读取消息的方式,直接把JSON文件名放在命令末尾会让Shell误以为要执行这个文件,而非将其内容作为kcat的输入,因此触发了Shell语法错误。
正确命令写法(两种可选)
方法1:使用输入重定向(推荐)
通过<将文件内容导入kcat的标准输入:
kcat \ -b localhost:9092 \ -r localhost:8081 \ -t test-topic \ -T \ -P < /tmp/k-msg-test.json
方法2:使用管道传递内容
借助cat命令读取文件并通过管道传给kcat:
cat /tmp/k-msg-test.json | kcat \ -b localhost:9092 \ -r localhost:8081 \ -t test-topic \ -T \ -P
关键选项说明
-b:指定Kafka Broker地址-r:指定Schema Registry地址(配合-T使用,用于Avro消息的序列化验证)-t:目标主题名称-T:告诉kcat使用Schema Registry处理消息(适配主题的Schema)-P:启动生产消息模式
内容的提问来源于stack exchange,提问作者Yura
相关产品推荐
相关产品推荐

