【问题标题】:Monitoring Kafka Spout with KafkaOffsetMonitoring tool使用 KafkaOffsetMonitoring 工具监控 Kafka Spout
【发布时间】:2023-04-01 08:25:01
【问题描述】:

我正在为我的项目使用 Storm-0.9.2 发行版附带的 kafkaSpout。我想监控这个 spout 的吞吐量。我尝试使用 KafkaOffsetMonitoring,但它没有显示任何消费者阅读我的主题。

我怀疑这是因为我在 Zookeeper 中为 spout 指定了根路径来存储消费者偏移量。 kafkaOffsetMonitor 将如何知道在哪里查找有关我的 kafkaSpout 实例的数据?

有人能解释一下zookeeper在哪里存储有关kafka主题和消费者的数据吗? zookeeper 是一个文件系统。那么,它是如何排列不同主题的数据及其分区的呢?什么是消费者 groupid,zookeeper 在存储消费者偏移量时如何解释它?

如果有人曾经使用 kafkaOffsetMonitor 来监控 kafkaSpout 的吞吐量,请告诉我如何使用该工具来找到我的 spout?

非常感谢, 帕拉克沙阿

【问题讨论】:

    标签: performance apache-storm apache-kafka


    【解决方案1】:

    我没用过KafkaOffsetMonitor,但是其他部分我可以回答。

    zookeeper.connect 是您可以为 Kafka 指定 znode 的属性;默认情况下,它将所有数据保存在“/”。

    您可以使用 zkCli.sh(zookeeper 命令行)访问 zookeeper 文件系统。 你应该看看 /consumers 和 /brokers;以下将为您提供偏移量

    get /consumers/my_test_group/offsets/my_topic/0
    

    您可以连续轮询此偏移量以了解 spout 的消耗率。

    【讨论】:

    • 嘿,非常感谢您指导我。我是 Apache Zookeeper(以及一般的分布式系统)的新手。你能指导我如何轮询动物园管理员吗?
    • paalaak - 要在 java 中监控 znode,请查看此链接 zookeeper.apache.org/doc/trunk/javaExample.html#sc_DataMonitor
    • 上述两种方法都适用于为 Kafka 编写的消费者组。但我正在尝试监控 Apache Storm 的 KafkaSpout。我仍在尝试了解 spout 与普通 Kafka 消费者有何相似或不同之处。在这个方向上的任何帮助将不胜感激。感谢您的耐心等待。
    • Storm 的 KafkaSpout 也是一个消费者消费来自 Kafka 主题的数据,它会连接到通过 SpoutConfig 指定的特定消费者组,阅读这里的文档github.com/nathanmarz/storm-contrib/tree/master/storm-kafka,这里的 id 字段是消费者组 - {根路径}/{id}/0
    【解决方案2】:

    Kafka-Spout 在自己的 znode 中维护其偏移量,而不是在 kafka 为普通消费者存储偏移量的 znode 下。我们有类似的需求,我们必须监控 kafka-spout 消费者和普通 kafka 消费者的偏移量,所以我们结束了编写自己的工具。您可以从这里获取该工具:

    https://github.com/Symantec/kafka-monitoring-tool

    【讨论】:

      猜你喜欢
      • 2014-12-03
      • 2017-12-07
      • 2018-05-22
      • 1970-01-01
      • 2013-06-24
      • 1970-01-01
      • 2016-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多