【发布时间】:2017-09-07 10:39:07
【问题描述】:
我正在尝试使用 JMX 来监控在分布式工作器上运行的一组连接器任务。唯一可用的 JMX 输出似乎是 Kafka Consumer MBean。不幸的是,在工作任务使用的 Kafka Consumer 上设置一个可识别的client.id 似乎是不可能的。
文档建议在connector configuration 上使用client.id。在连接器配置上设置它没有效果。在工作人员配置(属性文件)上设置此项仅将其设置为供工作人员用于配置和状态主题。
查看the code,似乎接收器消费者使用带有前缀consumer. 的工作人员配置。这样做是可行的,但这是在 Worker 中的所有任务中设置的单个客户端 ID,因此无法监控单个消费者,甚至是特定的连接器。
默认行为会在消费者中使用默认的client.id,也就是使用consumer-n,其中n是一个递增的数字。 JMX 输出不包括此使用者所属的groupd.id,因此无法将使用者连接与在该工作器中运行的连接器关联起来。
如果没有额外的 JMX 输出(如 groupd.id 和连接器名称),或者没有更好的默认 client.id,我无法看到如何使用 JMX 监控 Kafka 连接器。
【问题讨论】:
-
针对 JMX 标识的唯一 client.id 问题的解决方法是查询代理以获取组成员身份,并将默认使用者 ID 保留在连接器中。不理想,因为您需要单独跟踪组成员身份。
标签: apache-kafka