查看kafka消息消费堆积情况

这篇具有很好参考价值的文章主要介绍了查看kafka消息消费堆积情况。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

查看主题命令
  • 展示topic列表
./kafka-topics.sh --list --zookeeper zookeeper_ip:2181
描述topic
./kafka-topics.sh --describe --zookeeper zookeeper_ip:2181 --topic topic_name
查看topic某分区偏移量最大(小)值
./kafka-run-class.sh kafka.tools.GetOffsetShell --topic topic_name --time -1 --broker-list broker_ip:9092 --partitions 0
增加topic分区数
./kafka-topics.sh --zookeeper zookeeper_ip:2181 --alter --topic test --partitions 10
删除topic:慎用,只会删除zookeeper中的元数据,消息文件须手动删除
  • 方法一:
 ./kafka-topics.sh --delete --zookeeper zookeeper_ip:2181 --topic topic_name
  • 方法二:
  • 待验证
./kafka-run-class.sh kafka.admin.DeleteTopicCommand --zookeeper zookeeper_ip:2181 --topic topic_name
查看topic消费进度,必须参数为–group, 不指定–topic,默认为所有topic,
./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --group group_name
列出所有主题中的所有用户组:
./kafka-consumer-groups.sh --bootstrap-server broker_ip:9092 --list
要使用ConsumerOffsetChecker查看上一个示例中消费者组的偏移量
  • 按如下所示“describe”消费者组:
./kafka-consumer-groups.sh --bootstrap-server 10.1.3.84:9098 --describe --group group_name
  • -members: 此选项提供使用者组中所有活动成员的列表。
./kafka-consumer-groups.sh --bootstrap-server broker_ip:9092 --describe --group group_name --members
查看kafka消息消费情况
  • 消息堆积是消费滞后(Lag)的一种表现形式,消息中间件服务端中所留存的消息与消费掉的消息之间的差值即为消息堆积量,也称之为消费滞后(Lag)量。

  • 对于Kafka而言,消息被发送至Topic中,而Topic又分成了多个分区(Partition),每一个Partition都有一个预写式的日志文件,虽然Partition可以继续细分为若干个段文件(Segment),但是对于上层应用来说可以将Partition看成最小的存储单元(一个由多个Segment文件拼接的“巨型文件”)。

  • 每个Partition都由一系列有序的、不可变的消息组成,这些消息被连续的追加到Partition中。

  • 我们来看下图,其就是Partition的一个真实写照:
    查看kafka消息消费堆积情况,kafka,kafka

  • 上图中有四个概念:

  • LogStartOffset:表示一个Partition的起始位移,初始为0,虽然消息的增加以及日志清除策略的影响,这个值会阶段性的增大。
  • ConsumerOffset:消费位移,表示Partition的某个消费者消费到的位移位置。
  • HighWatermark:简称HW,代表消费端所能“观察”到的Partition的最高日志位移,HW大于等于ConsumerOffset的值。
  • LogEndOffset:简称LEO, 代表Partition的最高日志位移,其值对消费者不可见。
  • 比如在ISR(In-Sync-Replicas)副本数等于3的情况下(如下图所示),消息发送到Leader A之后会更新LEO的值,Follower B和Follower C也会实时拉取Leader A中的消息来更新自己,HW就表示A、B、C三者同时达到的日志位移,也就是A、B、C三者中LEO最小的那个值。由于B、C拉取A消息之间延时问题,所以HW必然不会一直与Leader的LEO相等,即LEO>=HW。
    查看kafka消息消费堆积情况,kafka,kafka

  • 要计算Kafka中某个消费者的滞后量很简单,首先看看其消费了几个Topic,然后针对每个Topic来计算其中每个Partition的Lag,每个Partition的Lag计算就显得非常的简单了,参考下图:
    查看kafka消息消费堆积情况,kafka,kafka

  • 由图可知消费Lag=HW - ConsumerOffset。Kafka中自带的kafka-consumer_groups.sh脚本中就有Lag的信息,示例如下:文章来源地址https://www.toymoban.com/news/detail-839401.html

[root@node2 kafka_2.12-1.0.0]# bin/kafka-consumer-groups.sh --describe --bootstrap-server localhost:9092 --group CONSUMER_GROUP_ID
GROUP TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID
depth NEEX_SPOT_DISPATCH_STORAGE_ORDER_FILL 2 0 0 0 consumer-2-70947d01-8796-46a0-8df7-27bdb9a19e9e
depth NEEX_SPOT_DISPATCH_STORAGE_ORDER_FILL 5 0 0 0 consumer-2-70947d01-8796-46a0-8df7-27bdb9a19e9e
depth NEEX_SPOT_DISPATCH_STORAGE_ORDER_FILL 1 0 0 0 consumer-2-70947d01-8796-46a0-8df7-27bdb9a19e9e
depth NEEX_SPOT_DISPATCH_STORAGE_ORDER_FILL 3 0 0 0 consumer-2-70947d01-8796-46a0-8df7-27bdb9a19e9e
depth NEEX_SPOT_DISPATCH_STORAGE_ORDER_FILL 6 0 0 0 consumer-2-70947d01-8796-46a0-8df7-27bdb9a19e9e
depth NEEX_SPOT_DISPATCH_STORAGE_ORDER_FILL 0 1 1 0 consumer-2-70947d01-8796-46a0-8df7-27bdb9a19e9e
depth NEEX_SPOT_DISPATCH_STORAGE_ORDER_FILL 4 0 0 0 consumer-2-70947d01-8796-46a0-8df7-27bdb9a19e9e
depth NEEX_SPOT_DISPATCH_STORAGE_ORDER_FILL 11 0 0 0 consumer-3-1eff2fbc-fd4f-41c3-be60-2cd60e463617
depth NEEX_SPOT_DISPATCH_STORAGE_ORDER_FILL 7 0 0 0 consumer-3-1eff2fbc-fd4f-41c3-be60-2cd60e463617
depth NEEX_SPOT_DISPATCH_STORAGE_ORDER_FILL 10 0 0 0 consumer-3-1eff2fbc-fd4f-41c3-be60-2cd60e463617

到了这里,关于查看kafka消息消费堆积情况的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • kafka 分布式的情况下,如何保证消息的顺序消费?

    目录 一、什么是分布式 二、kafka介绍 三、消息的顺序消费 四、如何保证消息的顺序消费   分布式是指将计算任务分散到多个计算节点上进行并行处理的一种计算模型。在分布式系统中,多台计算机通过网络互联,共同协作完成任务。每个计算节点都可以独立运行,并且可以

    2024年02月10日
    浏览(41)
  • JAVA实时获取kafka各个主题下分区消息的消费情况

    通过指定 主题 和 消费者组 调用方法,实时查看主题下分区消息的消费情况(消息总数量、消费消息数量、未消费的消息数量)。

    2024年02月13日
    浏览(45)
  • kafka 基础概念、命令行操作(查看所有topic、创建topic、删除topic、查看某个Topic的详情、修改分区数、发送消息、消费消息、 查看消费者组 、更新消费者的偏移位置)

    kafka官网 Broker   一台kafka服务器就是一个broker,可容纳多个topic。一个集群由多个broker组成; Producer   生产者,即向kafka的broker-list发送消息的客户端; Consumer   消费者,即向kafka的broker-list订阅消息的客户端; Consumer Group   消费者组是 逻辑上的一个订阅者 ,由多个

    2024年02月01日
    浏览(39)
  • 【工作中问题解决实践 十一】Kafka消费者消费堆积且频繁rebalance

    最近有点不走运,老是遇到基础服务的问题,还是记着点儿解决方法,以后再遇到快速解决吧,今天遇到这个问题倒不算紧急,但也能通过这个问题熟悉一下Kafka的配置。 正在开会的时候突然收到一连串的报警,赶忙看看是为啥 没过一会儿基础服务报警也来了 Kafka 自身的异

    2024年02月13日
    浏览(36)
  • 【kafka】服务器命令行查询kafka信息消费情况

    大家好,我是好学的小师弟,kafka-tool出问题的情况下,可以用命令行来查看kafka信息 1.找到kafka所在的安装目录 2.列出有哪些用户组来消费: 3.查看某个用户组的kafka消息消费情况,有没有数据积压 4.查看topic某分区数据偏移量(offset)最大值,就是看目前Kafka里有多少条消息 新

    2024年02月11日
    浏览(46)
  • 分布式 - 消息队列Kafka:Kafka 消费者消息消费与参数配置

    01. 创建消费者 在读取消息之前,需要先创建一个KafkaConsumer对象。创建KafkaConsumer对象与创建KafkaProducer对象非常相似——把想要传给消费者的属性放在Properties对象里。 为简单起见,这里只提供4个必要的属性:bootstrap.servers、key.deserializer 和 value.deserializer。 ① bootstrap.servers 指

    2024年02月12日
    浏览(31)
  • 13、Kafka ------ kafka 消费者API用法(消费者消费消息代码演示)

    消费者API的核心类是 KafkaConsumer,它提供了如下常用方法: 下面这些方法都体现了Kafka是一个数据流平台,消费者通过这些方法可以从分区的任意位置、重新开始读取数据。 根据KafkaConsumer不难看出,使用消费者API拉取消息很简单,基本只要几步: 1、创建KafkaConsumer对象,创建

    2024年04月11日
    浏览(33)
  • 分布式 - 消息队列Kafka:Kafka 消费者的消费位移

    01. Kafka 分区位移 对于Kafka中的分区而言,它的每条消息都有唯一的offset,用来表示消息在分区中对应的位置。偏移量从0开始,每个新消息的偏移量比前一个消息的偏移量大1。 每条消息在分区中的位置信息由一个叫位移(Offset)的数据来表征。分区位移总是从 0 开始,假设一

    2024年02月12日
    浏览(35)
  • Kafka消息消费流程详解

    在分布式系统中,Kafka是一种常用的消息队列系统,用于实现高可靠性的消息传递。本文将介绍Kafka消息消费的流程,并提供相应的示例代码。 Kafka消费者的流程可以概括为以下几个步骤: 创建Kafka消费者实例; 订阅一个或多个主题; 拉取消息记录; 处理消息; 提交消费位

    2024年02月09日
    浏览(61)
  • kafka入门(一):kafka消息发送与消费

    kafka的基础概念 Producer (消息生产者) 向主题发布消息的客户端应用程序称为生产者(Producer),生产者用于持续不断的向某个主题发送消息。 Consumer (消息消费者) 订阅主题消息的客户端程序称为消费者(Consumer),消费者用于处理生产者产生的消息。 Consumer Group (消费者组) 每个消费

    2024年04月12日
    浏览(28)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包