当前位置: 首页 > 面试题库 >

如何在Java程序中获取卡夫卡消耗滞后

慕容文昌
2023-03-14
问题内容

我编写了一个Java程序来消耗来自kafka的消息。我想监视消耗滞后,如何通过java来获取?

顺便说一句,我用:

<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId>
<version>0.10.1.1</version>

提前致谢。


问题答案:

我个人从我的消费者那里直接查询jmx信息。我只用Java消费,因此JMX bean kafka.consumer:type=consumer-fetch- manager-metrics,client-id=*/records-lag-max是可用的。

如果jolokia在您的类路径中,则可以使用GET检索值/jolokia/read/kafka.consumer:type=consumer-fetch- manager-metrics,client-id=*/records-lag-max并将所有结果收集在一个位置。

还有Burrow,它很容易配置,但是有点过时了(如果我记得很好的话,对于0.10不起作用)。



 类似资料:
  • 设置 多个独立的源系统将AVRO事件推送到Kafka主题中。KafkaS3接收器连接器从本主题读取AVRO事件,并写入S3拼花格式。 问题 我们的架构注册表中的 AVRO 架构不符合标准。例如,源系统中的十进制字段在架构注册表中具有基类型字符串和逻辑类型十进制。AVRO 中不允许这些类型的组合(十进制逻辑类型必须始终具有基本类型修复/字节。 这些不正确的AVRO模式导致不正确的拼花文件模式。E、

  • 问题内容: 我有一个主题列表(目前为10个),其规模将来可能会增加。我知道我们可以在每个主题中产生多个线程(每个主题)使用,但是就我而言,如果主题数量增加,那么从主题中使用的线程数量就会增加,这是我不希望的,因为主题不是太频繁地获取数据,因此线程将处于理想状态。 有没有办法让一个消费者从所有主题中消费?如果是,那我们如何实现呢?另外,Kafka将如何维护偏移量?请提出答案。 问题答案: 我们可以使

  • 我们在我们的研究项目中使用了GraphDB Free,我最近遇到了一个在将数据插入上下文时响应性的问题。 当我使用RDF4J应用编程接口将语句插入到新的上下文中时,GraphDB无法响应后续的请求/查询。日志中没有报告异常。我假设这与限制两个并发查询有关。 有趣的是,当我在workbench中通过SPARQL插入创建上下文时,后续处理新上下文似乎没有问题。但是,如果通过RDF4J连接插入语句来创建

  • 我正在编写一个基于文本的冒险游戏,我遇到了一个问题。我正在将它从终端移植到JFrame GUI,我需要它在继续之前等待用户输入。我设置了一个系统,其中有一个名为按钮的布尔变量,它开始时为false。当按下提交文本按钮时,它会将其更改为true。有一个while循环,它会等待按钮变为true,然后才允许程序继续,基本上是暂停程序直到用户提交输入。问题是,只有当我在while循环中写入system.o

  • 问题内容: 我对Kafka比较陌生。我已经做了一些实验,但是对于消费者补偿我有些不清楚。根据到目前为止的了解,使用方启动时,将从其读取的偏移量由配置设置确定(如果我输入错了,请更正我)。 现在说,例如,该主题中有10条消息(偏移量0到9),一个消费者在崩溃之前(或我杀死该消费者之前)碰巧消耗了其中的5条消息。然后说我重新启动该使用者进程。我的问题是: 如果将设置为,它是否总是从偏移量0开始消耗?

  • 我正在从log4j-slf4j-impl 2.12.0升级到2.17.1。在我之前的代码中,除了 现在我已经升级到2.17.1,我得到了以下错误: org . Apache . Felix . resolver . reason . reason异常:无法解析org . Apache . logging . log4j . slf4j-impl/2 . 17 . 1:缺少需求[org . Apac