【问题标题】:Any way to confirm Kafka consumer properties?有什么方法可以确认 Kafka 消费者属性?
【发布时间】:2019-04-25 21:41:37
【问题描述】:

我正在尝试确认 Kafka Consumer 配置是否正常工作。我将一些消费者属性值设置为非默认值(例如 session.timeout.ms、heartbeat.interval.ms)。有没有办法查询它们并确保它们已设置为我在属性中定义的特定值?

我在网上搜索过,但似乎找不到有关如何查询组控制器以获取这些配置的任何指导。

我发现最接近的方法是使用 kafka-consumer-groups.sh,但这并没有提供所有详细信息。

有什么想法吗?

感谢您的任何建议!

根据反馈进一步澄清: 我确实使用日志记录,但我认为这不是我想要检查的内容。

让我试着进一步澄清一下。我们以 session.timeout.ms 为例。组协调器使用该设置来确定特定消费者是否还活着。所以我认为组协调员(它是一个 kafka 代理)必须知道这个设置服务器端。因此,如果我将会话超时设置为非默认值,我想知道是否有办法查询代理以获取此设置。如果我使用日志记录,我将获得在创建 Kafka 使用者时创建的对象的配置设置。它没有为我提供经纪人的价值。我希望这能澄清这个问题。如果我的理解有误,请纠正我。

【问题讨论】:

  • VerifiableProducer.sh 和 VerfiableConsumer.sh 在这里可能会派上用场。 confluent.io/blog/…
  • 你应该在 kafka 消费者或生产者启动时的 loga 中看到它们
  • 欢迎来到 StackOverflow!您使用的是哪个客户端,java/scala 还是其他?默认 java kafka-clients lib 使用嵌入式 slf4j 日志记录 kafka 生产者/消费者属性。在这种情况下,请检查您是否为包 org.apache.kafka.clients.consumer 或其父级启用了 INFO 日志记录。
  • 我更新了我的问题以澄清更多信息。我不认为日志记录是我正在寻找的解决方案。

标签: apache-kafka kafka-consumer-api


【解决方案1】:

如果您通过 log4j 或 Slf4j 设置日志记录,ConsumerConfig 对象会在应用程序日志中打印出来并显示所有加载的属性

否则,它们可能也会显示在 JMX 中,但我不太确定

【讨论】:

  • 感谢您的反馈。我确实使用日志记录,但我认为这不是我所追求的。我已经更新了我的问题以进一步澄清。
  • 消费者不知道代理配置。我想你在问stackoverflow.com/questions/51873361/…
猜你喜欢
  • 1970-01-01
  • 2021-04-16
  • 1970-01-01
  • 2015-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-05
相关资源
最近更新 更多