Kafka3.0.0版本——消费者(offset的默认维护位置)

目录

一、offset的默认维护位置

1.1、offset的默认维护位置概述

  • Kafka0.9版本之前,consumer默认将offset保存在Zookeeper中。
  • 从Kafka0.9版本开始,consumer默认将offset保存在Kafka一个内置的topic中,该topic为__consumer_offsets
  • __consumer_offsets 主题里面采用 key 和 value 的方式存储数据。key 是 group.id+topic+分区号,value 就是当前 offset 的值。每隔一段时间,kafka 内部会对这个 topic进行compact,也就是每个 group.id+topic+分区号就保留最新数据。
  • __consumer_offsets 为 Kafka 中的 topic,那就可以通过消费者进行消费。

1.2、offset的默认维护位置图解

二、消费者offset的案例

  • 在配置文件 config/consumer.properties 中添加配置 exclude.internal.topics=false,默认是 true,表示不能消费系统主题。为了查看该系统主题数据,所以该参数修改为 false。

  • 重启kafka服务。

  • 采用命令行方式,创建一个新的 topic。

    java 复制代码
    bin/kafka-topics.sh --bootstrap-server 192.168.136.27:9092 --create --partitions 2 --replication-factor 2 --topic offsetTopic
  • 启动生产者往 offsetTopic 生产数据。

    java 复制代码
    bin/kafka-console-producer.sh  --bootstrap-server 192.168.136.27:9092 --topic offsetTopic
  • 启动消费者消费 offsetTopic 数据。
    注意:指定消费者组名称,更好观察数据存储位置(key 是 group.id+topic+分区号)。

    java 复制代码
    bin/kafka-console-consumer.sh  --bootstrap-server 192.168.136.27:9092 --topic offsetTopic --group test
  • 查看消费者消费主题__consumer_offsets。

    java 复制代码
    bin/kafka-console-consumer.sh --topic __consumer_offsets  --bootstrap-server  192.168.136.29:9092  --consumer.config  config/consumer.properties  --formatter "kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter" --from-beginning


相关推荐
guo_wen_qiang17 小时前
kafka重复消费
分布式·kafka
ClouGence2 天前
开源数据库管理工具 CloudDM 4.4.0 发布,新增 Kafka、SAP HANA 数据源
数据库·kafka
RobinXYuan2 天前
【Kafka 源码手记】01 从消息队列到 Event Streaming
kafka·源码阅读
nvd112 天前
深入剖析:GCP Pub/Sub 与 Apache Kafka 对消息处理延迟与消费者卡死的处理机制异同
分布式·kafka·apache
笔墨登场说说3 天前
centos 8 使用 kafka_2.13-4.3.1.tgz 安装kafka
linux·kafka·centos
guo_wen_qiang3 天前
kafka一直restarting,报错InconsistentClusterIdException
分布式·kafka
今年下半年3 天前
【消息队列】Spring Boot 集成 Kafka 消息队列:确保消费完成(手动提交偏移量+幂等判断+失败重试机制)
spring boot·kafka·幂等·失败重试
此时不提桶,更待何时4 天前
06-14-A-Kafka集群运维与迁移实战详解
运维·kafka
yumgpkpm4 天前
Acceldata ODP(Open Data Platform)3.3.6.4(RHEL9)保姆级完整安装手册
大数据·人工智能·hive·hadoop·kafka·hbase·cloudera
用户1494484813205 天前
Raft 为什么取代了 Paxos?从 DLedger 和 KRaft 的技术选型聊起
kafka·raft