从实战中认识Kafka消费组

简介: 从实战中认识Kafka消费组

本文属于学习的第二阶段:[从运维实战的角度学习Kafka],本文重点介绍kafka-consumer-groups运维命令的使用,从运维、使用驱动对消费组的了解。


1、Kafka 消费组运维实战


image.png

image.png

image.png

接下来对一些要点做一个简单的说明与举例。


1.1 --members 显示消费组成员


在使用--describe选项查看一个消费组信息时会详细显示各个分区的消费情况,而加上--members类似一个分组,以客户端为维度的汇总信息,如下图所示:

b5ea14432701af82d792bbdf5f5ec00e.png


1.2 --state 显示消费组状态


该选项主要用于显示消费组的状态,使用示例如下图所示:

775aa75ab35c70d46660a4379bc81998.png

其列说明如下:


  • COORDINATOR (ID)
    该消费组的控制协调器,例如协调分区重平衡等操作,不同的消费组的协调器所在的Broker不同。
  • ASSIGNMENT-STRATEGY
    分区负载算法,目前Kafka支持Rrange与RoundRobin两种分配上算法,默认为Range,其含义如下图所示:
    432c3122e08e9f1b5b0ffee0901f325b.png
  • State
    消费者状态,主要包括Dead, Stable(稳定状态,可消费消息), CompletingRebalance(正在重平衡), PreparingRebalance(准备重平衡), empty(所有消费不在线)
  • MEMBERS
    成员个数。


1.2 --reset-offsets 重置消费位点


重置消费位点是kafka-consumer-groups的重点功能,我们对常用功能进行演示,只有操作,才能记忆深刻


800277ba4876ea2157e88260c72a6596.png

Kafka的重置位点需要先停掉所有的消费者。

0cf7e825130d4b12433071899ddd0746.png

执行真正的位点重置需要加上 --execute选项,在真正执行之前,可以用--dry-run模拟执行。


2、总结


在Kafka中,消费组是自动创建的,并且kafka中的消费组并没有提供类似RocketMQ的广播消费模式,也没Topic那么多的运维属性,其实也可以理解,topic是负责具体的数据存储,而消费组只是拉取数据进行处理。

相关文章
|
1月前
|
消息中间件 Java Kafka
Java 事件驱动架构设计实战与 Kafka 生态系统组件实操全流程指南
本指南详解Java事件驱动架构与Kafka生态实操,涵盖环境搭建、事件模型定义、生产者与消费者实现、事件测试及高级特性,助你快速构建高可扩展分布式系统。
115 7
|
4月前
|
消息中间件 运维 Kafka
直播预告|Kafka+Flink双引擎实战:手把手带你搭建分布式实时分析平台!
在数字化转型中,企业亟需从海量数据中快速提取价值并转化为业务增长动力。5月15日19:00-21:00,阿里云三位技术专家将讲解Kafka与Flink的强强联合方案,帮助企业零门槛构建分布式实时分析平台。此组合广泛应用于实时风控、用户行为追踪等场景,具备高吞吐、弹性扩缩容及亚秒级响应优势。直播适合初学者、开发者和数据工程师,参与还有机会领取定制好礼!扫描海报二维码或点击链接预约直播:[https://developer.aliyun.com/live/255088](https://developer.aliyun.com/live/255088)
315 35
直播预告|Kafka+Flink双引擎实战:手把手带你搭建分布式实时分析平台!
|
4月前
|
消息中间件 运维 Kafka
直播预告|Kafka+Flink 双引擎实战:手把手带你搭建分布式实时分析平台!
直播预告|Kafka+Flink 双引擎实战:手把手带你搭建分布式实时分析平台!
142 11
|
10月前
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
458 5
|
11月前
|
消息中间件 存储 druid
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
151 3
|
消息中间件 Java Kafka
"Kafka快速上手:从环境搭建到Java Producer与Consumer实战,轻松掌握分布式流处理平台"
【8月更文挑战第10天】Apache Kafka作为分布式流处理平台的领头羊,凭借其高吞吐量、可扩展性和容错性,在大数据处理、实时日志收集及消息队列领域表现卓越。初学者需掌握Kafka基本概念与操作。Kafka的核心组件包括Producer(生产者)、Broker(服务器)和Consumer(消费者)。Producer发送消息到Topic,Broker负责存储与转发,Consumer则读取这些消息。首先确保已安装Java和Kafka,并启动服务。接着可通过命令行创建Topic,并使用提供的Java API实现Producer发送消息和Consumer读取消息的功能。
202 8
|
消息中间件 Java 大数据
"深入理解Kafka单线程Consumer:核心参数配置、Java实现与实战指南"
【8月更文挑战第10天】在大数据领域,Apache Kafka以高吞吐和可扩展性成为主流数据流处理平台。Kafka的单线程Consumer因其实现简单且易于管理而在多种场景中受到欢迎。本文解析单线程Consumer的工作机制,强调其在错误处理和状态管理方面的优势,并通过详细参数说明及示例代码展示如何有效地使用KafkaConsumer类。了解这些内容将帮助开发者优化实时数据处理系统的性能与可靠性。
257 7
|
消息中间件 算法 Java
go语言并发实战——日志收集系统(三) 利用sarama包连接KafKa实现消息的生产与消费
go语言并发实战——日志收集系统(三) 利用sarama包连接KafKa实现消息的生产与消费
437 0