【Kafka基础】消费者命令行完全指南:从基础到高级消费

Kafka消费者是消息系统的关键组成部分,掌握/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh工具的使用对于调试、测试和监控都至关重要。本文将全面介绍该工具的各种用法,帮助您高效地从Kafka消费消息。

1 基础消费模式

1.1 从最新位置消费

复制代码
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh \
    --bootstrap-server 192.168.10.33:9092 \
    --topic testtopic

参数解析

  • --bootstrap-server: 指定Kafka集群地址
  • --topic: 指定消费的主题名称
    特点
  • 从该消费者组最后提交的offset开始消费
  • 如果没有提交记录,则从最新消息开始

1.2 从最早位置消费

复制代码
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh \
    --bootstrap-server 192.168.10.33:9092 \
    --topic testtopic \
    --from-beginning

关键参数

  • --from-beginning: 从主题最早的消息开始消费
    应用场景
  • 数据回溯
  • 新消费者组初始化

2 消息元数据展示

2.1 显示消息Key

复制代码
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh \
    --bootstrap-server 192.168.10.33:9092 \
    --topic testtopic \
    --property print.key=true \
    --property key.separator=":"

参数说明

  • print.key=true: 显示消息key
  • key.separator: 指定key/value分隔符

2.2 显示完整元数据

复制代码
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh \
    --bootstrap-server 192.168.10.33:9092 \
    --topic testtopic \
    --property print.key=true \
    --property print.value=true \
    --property print.partition=true \
    --property print.offset=true \
    --property print.timestamp=true \
    --property key.separator=":" \
    --property line.separator="\n"

元数据参数

  • print.partition: 显示分区号
  • print.offset: 显示消息offset
  • print.timestamp: 显示时间戳

3 精准消费控制

3.1 指定分区消费

复制代码
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh \
    --bootstrap-server 192.168.10.33:9092 \
    --topic testtopic \
    --partition 1

参数说明

  • --partition: 指定消费的分区编号

3.2 指定Offset消费

复制代码
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh \
    --bootstrap-server 192.168.10.33:9092 \
    --topic testtopic \
    --partition 0 \
    --offset 1000

参数说明

  • --offset: 指定开始消费的offset位置

3.3 消费超时设置

复制代码
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh \
    --bootstrap-server 192.168.10.33:9092 \
    --topic testtopic \
    --timeout-ms 10000

参数说明

  • --timeout-ms: 设置无消息时的超时时间(毫秒)

4 消费者组管理

4.1 使用消费者组

复制代码
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh \
    --bootstrap-server 192.168.10.33:9092 \
    --topic testtopic \
    --group mygroup

参数说明

  • --group: 指定消费者组名称
    特点
  • 支持offset自动提交
  • 支持消费者组rebalance

4.2 手动控制offset提交

复制代码
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh \
    --bootstrap-server 192.168.10.33:9092 \
    --topic testtopic \
    --group mygroup \
    --property enable.auto.commit=false

参数说明

  • enable.auto.commit=false: 关闭自动提交

5 高级消费配置

5.1 限制消费消息数

复制代码
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh \
    --bootstrap-server 192.168.10.33:9092 \
    --topic testtopic \
    --max-messages 100

参数说明

  • --max-messages: 最大消费消息数

5.2 过滤消费

复制代码
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh \
    --bootstrap-server 192.168.10.33:9092 \
    --topic testtopic \
    --property filter.key.regex="test.*"

参数说明

  • filter.key.regex: 按key正则过滤

5.3 消费速率控制

复制代码
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh \
    --bootstrap-server 192.168.10.33:9092 \
    --topic testtopic \
    --property fetch.min.bytes=1024 \
    --property fetch.max.wait.ms=500

参数说明

6 常用命令扩展

6.1 消费多个主题

复制代码
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh \
    --bootstrap-server 192.168.10.33:9092 \
    --whitelist "topic1|topic2"

6.2 显示消息头信息

复制代码
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh \
    --bootstrap-server 192.168.10.33:9092 \
    --topic testtopic \
    --property print.headers=true

6.3 消费特定时间后的消息

复制代码
/export/home/kafka_zk/kafka_2.13-2.7.1/bin/kafka-console-consumer.sh \
    --bootstrap-server 192.168.10.33:9092 \
    --topic testtopic \
    --property offsets.storage=kafka \
    --property timestamp=1625097600000
相关推荐
观望过往4 小时前
Kafka 全方位详细介绍:从架构原理到实践优化
分布式·架构·kafka
LB21124 小时前
Redis黑马点评 分布式锁
数据库·redis·分布式
回家路上绕了弯8 小时前
接口响应时间优化指南:从秒级到毫秒级的全链路方案
分布式·后端
RestCloud8 小时前
OceanBase 分布式数据库的 ETL 实践:从抽取到实时分析
数据库·分布式·postgresql·oceanbase·etl·数据处理·数据同步
西***63479 小时前
从信号零损耗到智能协同:高清混合矩阵全链路技术拆解,分布式可视化系统十大趋势重塑行业
分布式·线性代数·矩阵
菜鸡儿齐18 小时前
kafka简介
分布式·kafka
周杰伦_Jay19 小时前
【实战|旅游知识问答RAG系统全链路解析】从配置到落地(附真实日志数据)
大数据·人工智能·分布式·机器学习·架构·旅游·1024程序员节
深兰科技21 小时前
深兰科技入选“2025中国人工智能行业创新力企业百强”
人工智能·科技·百度·kafka·rabbitmq·memcached·深兰科技
兜兜风d'21 小时前
RabbitMQ事务机制详解
数据库·spring boot·分布式·rabbitmq·ruby·java-rabbitmq
ifeng091821 小时前
HarmonyOS分布式任务调度——跨设备智能任务分配与迁移
分布式·华为·harmonyos