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


相关推荐
即将雄起的运维玩家3 小时前
kafka-kraft+SASL版本升级3.7.0-->3.9.1
分布式·kafka
sql2008help7 小时前
5-Kafka-replication(副本机制)概念
分布式·kafka
CodeWithMe1 天前
【Note】《Kafka: The Definitive Guide》 第5章:深入 Kafka 内部结构,理解分布式日志系统的核心奥秘
分布式·kafka
CodeWithMe1 天前
【Note】《Kafka: The Definitive Guide》第一章:Meet Kafka
分布式·kafka
CodeWithMe1 天前
【Note】《Kafka: The Definitive Guide》 第二章 Installing Kafka:Kafka 安装与运行
分布式·kafka
CodeWithMe1 天前
【Note】《Kafka: The Definitive Guide》 第8章: Cross-Cluster Data Mirroring
分布式·kafka
Alaia.1 天前
【kafka 3.9.1】单机版集群部署并配置kafka的SASL认证
分布式·kafka
亲爱的非洲野猪2 天前
Kafka消息积压的多维度解决方案:超越简单扩容的完整策略
java·分布式·中间件·kafka
亲爱的非洲野猪2 天前
Kafka “假死“现象深度解析与解决方案
分布式·kafka
CodeWithMe2 天前
【Note】《Kafka: The Definitive Guide》第三章: Kafka 生产者深入解析:如何高效写入 Kafka 消息队列
分布式·kafka