学习总结录 学习总结录
首页
归档
分类
标签
  • Java基础
  • Java集合
  • MySQL
  • Redis
  • JVM
  • 多线程
  • 计算机网络
  • 操作系统
  • Spring
  • Kafka
  • Elasticsearch
  • Python
  • 面试专题
  • 案例实践
  • 工具使用
  • 项目搭建
  • 服务治理
  • ORM框架
  • 分布式组件
  • MiniSpring
  • 设计模式
  • 算法思想
  • 编码规范
友链
关于
GitHub (opens new window)
首页
归档
分类
标签
  • Java基础
  • Java集合
  • MySQL
  • Redis
  • JVM
  • 多线程
  • 计算机网络
  • 操作系统
  • Spring
  • Kafka
  • Elasticsearch
  • Python
  • 面试专题
  • 案例实践
  • 工具使用
  • 项目搭建
  • 服务治理
  • ORM框架
  • 分布式组件
  • MiniSpring
  • 设计模式
  • 算法思想
  • 编码规范
友链
关于
GitHub (opens new window)
  • Java基础

  • Java集合

  • MySQL

  • Redis

  • JVM

  • 多线程

  • 计算机网络

  • Spring

  • Kafka

    • 生产者客户端开发
    • 消费者客户端开发
    • 主题与分区管理
    • 配置管理
    • KafkaAdminClient
    • 消费管理
      • 一、消费组管理
        • 1、所有消费组查看
        • 2、单个消费组查看
        • 3、消费组状态
      • 二、消费位移管理
      • 参考
    • Kafka Streams
    • 日志存储
    • 可靠性研究
    • 深入服务端
    • 深入客户端
    • 集群参数配置
    • 生产者消息分区机制原理
    • 如何确保消息不丢失
    • 如何确保消息不重复消费
    • 消费积压如何处理
    • 生产者是如何管理TCP连接
    • 消费者重平衡问题
    • 位移提交问题
    • 消费者是如何管理TCP连接
    • 副本机制深入
    • 消费组消费进度如何监控
    • 高水位和Leader Epoch
  • Elasticsearch

  • Python

  • 面试专题

  • 知识库
  • Kafka
旭日
2023-04-18
目录

消费管理

# 一、消费组管理

# 1、所有消费组查看

我们可以通过kafka-consumer-groups.sh 脚本查看或变更消费组的信息,其中list这个指令类型的参数来罗列当前集群中所有的消费组名称:

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
group.demo

# 2、单个消费组查看

kafka-consumer-groups.sh 脚本配合describe这个指令类型来展示一个消费组的详细信息,同时还需要使用group参数来指定特定消费组的名称:

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group group.demo

image-20230418110153630

  • TOPIC:主题名称
  • PARTITION:分区
  • CURRENT-OFFSET:消费组最新提交的位移
  • LOG-END-OFFSET:高水位
  • LAG:消息滞后的数量(LOG-END-OFFSET - CURRENT-OFFSET)

# 3、消费组状态

消费组状态有如下几种:

  • Dead
  • Empty
  • PreparingRebalance
  • CompletingRebalance
  • Stable

正常情况下,一个具有消费者成员的消费组的状态为Stable:

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group group.demo --state
GROUP                     COORDINATOR (ID)          ASSIGNMENT-STRATEGY  STATE           #MEMBERS
group.demo                192.168.31.240:9092 (0)   range                Stable          1

如果一个消费组下没有任何消费组,对应的状态为Empty

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group group.demo --state

Consumer group 'group.demo' has no active members.

GROUP                     COORDINATOR (ID)          ASSIGNMENT-STRATEGY  STATE           #MEMBERS
group.demo                192.168.31.240:9092 (0)                        Empty           0

还可以通过members 参数罗列出消费组内的消费者成员信息:

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group group.demo --members

GROUP           CONSUMER-ID                                         HOST            CLIENT-ID       #PARTITIONS     
group.demo      client.id.demo-04189014-ad44-4ea8-a0a5-54d5fa08d497 /172.17.0.1     client.id.demo  4     

# 二、消费位移管理

kafka-consumer-groups.sh 脚本还提供了重置消费组内消费位移的功能,具体是通过 reset-offsets 这个指令类型的参数来实施的。

这个命令执行的前提是消费组内没有正在运行的消费组。

下面将group.demo的所有分区消费位移都置为0:

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092  --group group.demo --all-topics --reset-offsets --to-earliest --execute

GROUP                          TOPIC                          PARTITION  NEW-OFFSET     
group.demo                     quickstart-events              2          0              
group.demo                     quickstart-events              1          0              
group.demo                     quickstart-events              0          0              
group.demo                     quickstart-events              3          0              
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group group.demo 

Consumer group 'group.demo' has no active members.

GROUP           TOPIC             PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG             CONSUMER-ID     HOST            CLIENT-ID
group.demo      quickstart-events 2          0               0               0               -               -               -
group.demo      quickstart-events 1          0               2               2               -               -               -
group.demo      quickstart-events 0          0               0               0               -               -               -
group.demo      quickstart-events 3          0               1               1               -               -               -

其中--all-topics是对所有的主题进行操作,我们可以通过topic参数可以指定单个主题,下面将quickstart-events主题下的分区3消费位移置为分区的末尾:

bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092  --group group.demo --topic quickstart-events:3 --reset-offsets --to-latest --execute

GROUP                          TOPIC                          PARTITION  NEW-OFFSET     
group.demo                     quickstart-events              3          1    

# 参考

官方文档 (opens new window)

图解Kafka之实战指南 (opens new window)

#消息队列
上次更新: 2024/06/29, 15:13:44
KafkaAdminClient
Kafka Streams

← KafkaAdminClient Kafka Streams→

最近更新
01
基础概念
10-31
02
Pytorch
10-30
03
Numpy
10-30
更多文章>
Theme by Vdoing | Copyright © 2021-2024 旭日 | 蜀ICP备2021000788号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式