大家好,又见面了,我是你们的朋友全栈君。
kafka-console-producer.sh 脚本通过调用 kafka.tools.ConsoleProducer 类加载命令行参数的方式,在控制台生产消息的脚本。
本文是基于 Kafka_2.12-2.5.0 版本编写的,–bootstrap-server 参数于此版本开始被使用,而 –broker-list 也是在此版本开始被置为
过时,但其属性值依旧保持不变。在使用较旧版本时,注意其差别,切勿盲目复制粘贴。
一、无key型消息
默认情况下,所生产的消息是没有 key 的,命令如下:
代码语言:javascript复制bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic topicName
执行上述命令后,就会在控制台等待键入消息体,直接输入消息值(value)即可,每行(以换行符分隔)表示一条消息,如下所示。
代码语言:javascript复制>Hello Kafka!
>你好 kafka!
正常情况,每次回车表示触发“发送”操作,回车后可直接使用“Ctrl c”退出生产者控制台,再使用 kafka-console-consumer.sh 脚本验证本次的生产情况。
二、有key型消息
当需要为消息指定 key 时,可使用如下命令:
代码语言:javascript复制bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic topicName --property parse.key=true
默认消息键与消息值间使用“Tab键”进行分隔,切勿使用转义字符(t),如下所示:
代码语言:javascript复制>Lei Li Hello Kafka!
>Meimei Han 你好 kafka!
键入如上信息表示所生产的消息“Lei Li”为消息键,“Hello Kafka”为消息值。
附表 属性列表
下表列举了当前版本支持的所有参数用法,敬请参阅。
参数 | 值类型 | 说明 | 有效值 |
---|---|---|---|
–bootstrap-server | String | 要连接的服务器必需(除非指定–broker-list) | 形如:host1:port1,host2:port2 |
–topic | String | (必需)接收消息的主题名称 | |
–broker-list | String | 已过时要连接的服务器 | 形如:host1:port1,host2:port2 |
–batch-size | Integer | 单个批处理中发送的消息数 | 200(默认值) |
–compression-codec | String | 压缩编解码器 | none、gzip(默认值)snappy、lz4、zstd |
–max-block-ms | Long | 在发送请求期间,生产者将阻止的最长时间 | 60000(默认值) |
–max-memory-bytes | Long | 生产者用来缓冲等待发送到服务器的总内存 | 33554432(默认值) |
–max-partition-memory-bytes | Long | 为分区分配的缓冲区大小 | 16384 |
–message-send-max-retries | Integer | 最大的重试发送次数 | 3 |
–metadata-expiry-ms | Long | 强制更新元数据的时间阈值(ms) | 300000 |
–producer-property | String | 将自定义属性传递给生成器的机制 | 形如:key=value |
–producer.config | String | 生产者配置属性文件[–producer-property]优先于此配置 | 配置文件完整路径 |
–property | String | 自定义消息读取器 | parse.key=true|falsekey.separator=<key.separator>ignore.error=true|false |
–request-required-acks | String | 生产者请求的确认方式 | 0、1(默认值)、all |
–request-timeout-ms | Integer | 生产者请求的确认超时时间 | 1500(默认值) |
–retry-backoff-ms | Integer | 生产者重试前,刷新元数据的等待时间阈值 | 100(默认值) |
–socket-buffer-size | Integer | TCP接收缓冲大小 | 102400(默认值) |
–timeout | Integer | 消息排队异步等待处理的时间阈值 | 1000(默认值) |
–sync | 同步发送消息 | ||
–version | 显示 Kafka 版本不配合其他参数时,显示为本地Kafka版本 | ||
–help | 打印帮助信息 |
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/182091.html原文链接:https://javaforall.cn