kafka脚本发送二进制消息
时间: 2023-07-03 10:29:26 浏览: 205
你可以使用Kafka提供的命令行工具`kafka-console-producer.sh`来发送二进制消息。下面是具体的步骤:
1. 准备一个二进制文件,例如`test.bin`。
2. 使用base64将二进制文件转换成base64编码,并将编码结果保存到文件`test.base64`中。
```bash
base64 test.bin > test.base64
```
3. 使用`kafka-console-producer.sh`发送消息。
```bash
kafka-console-producer.sh --broker-list <broker-list> --topic <topic> --property "parse.key=false" --property "key.separator=" < test.base64
```
其中`--property "parse.key=false"`和`--property "key.separator="`表示不需要使用key,因为我们只是发送一个二进制文件。`<`表示将文件中的内容作为输入发送到Kafka。
4. 接收消息并将base64编码的内容转换为二进制文件。
```bash
kafka-console-consumer.sh --bootstrap-server <broker-list> --topic <topic> --from-beginning | base64 -d > test.bin
```
其中`| base64 -d`表示将接收到的消息以base64解码,并将解码结果保存到文件`test.bin`中。
注意:如果二进制文件太大,可能会导致消息太大而无法发送。在这种情况下,你需要将消息分成多个部分进行发送,或者使用Kafka提供的其他API来发送消息。
阅读全文