【问题标题】:how to measure the lag of a kafka topic with consumer being a spark?如何衡量消费者成为火花的kafka主题的滞后?
【发布时间】:2020-03-25 03:58:51
【问题描述】:

我们有一个使用 kafka 作为输出的 spark 批处理应用程序。使用 spark 时有没有办法监控 Kafka 消费者组滞后?我们检查了 spark 文档,我们发现 spark 总是创建一个随机的 groupId 并使用一个检查点目录来控制偏移量。有没有你们推荐的方法或应用程序来衡量这个过程的滞后?我们找不到办法。

【问题讨论】:

  • 你在哪里存储你的偏移量?如果该位置是可查询的,那么您可以计算与该位置和最新偏移量的差异

标签: apache-spark apache-kafka kafka-consumer-api


【解决方案1】:

您使用的是什么火花版本? AFAIK,您可以指定group.id,它不是随机的。另外,你不必使用检查点目录,你可以使用 kafka 本身来管理偏移量(参考https://spark.apache.org/docs/2.4.0/streaming-kafka-0-10-integration.html#storing-offsets

最后但并非最不重要的一点是,我喜欢从两个方面衡量滞后 - 消费者指标和经纪人方面。原因是我见过一些案例,其中一个消费者组据称被分配到所有分区,但在某些情况下没有报告偏移量:

TOPIC     PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG        CONSUMER-ID
topic1     0          45896605954     46222875284     326269330  consumer-1
topic1     1          45888273257     46227424210     339150953  consumer-1
...
topic1     16         45678505506     46013061139     334555633  consumer-1
topic1     17         -               46225917726     -          consumer-1
topic1     18         45893413333     46225853655     332440322  consumer-1

所以消费者本身并没有报告分区 17 上的任何延迟,而捕获它的唯一方法是从代理端描述消费者组并解析它......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多