Kafka常用命令之kafkaconsoleconsumersh怎么使用
更新时间:2023-12-06简介
kafka-console-consumer.sh是Kafka中的一个命令行工具,主要用来消费Kafka中的消息。该工具支持从一个指定topic的指定分区或所有分区中消费消息,支持输出到控制台或者到一个指定的文件,并且支持手动提交offset或者自动提交。使用方法
1. 消费topic中所有分区的消息./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning其中--bootstrap-server参数指定了Kafka集群的地址,--topic参数指定了要消费的topic,--from-beginning参数指定了从该topic的最开始位置开始消费。
2. 消费topic中某个分区的消息
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --partition 0 --from-beginning其中--partition参数指定了要消费的分区号,分区号从0开始。
3. 将消息输出到文件
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --output-file output.log该命令指定了--output-file参数,将消息输出到指定的文件output.log中。
4. 手动提交offset
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --consumer-property group.id=mygroup --property print.key=true --property print.value=true --property key.separator=:
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --consumer-property group.id=mygroup --property print.key=true --property print.value=true --property key.separator=: --from-beginning --max-messages 3 --consumer-property auto.offset.reset=earliest | awk '{print $1,$3}'该命令使用了--consumer-property参数指定了消费者组的名称,--property参数指定了要打印的消息的key和value的分隔符为":"。注意,这种方式下需要手动提交offset。
5. 自动提交offset
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --consumer-property group.id=mygroup --from-beginning --max-messages 3 --consumer-property auto.offset.reset=earliest该命令使用了--consumer-property参数指定了消费者组的名称,并且使用了--consumer-property auto.offset.reset=earliest参数表示使用最早的offset开始消费,使用--from-beginning参数表示从topic最开始的位置开始消费,使用--max-messages参数指定了最多消费3条消息。