远程查看 Kafka 版本

11

有没有办法从集群外部找出 Kafka 的版本号? (也许可以使用 telnet 或其他工具)

仅供澄清,我既没有 SSH 访问 Kafka,也没有 Zookeeper。


你有telnet,但没有SSH访问?:( 你有JMX访问权限吗?但只要它大于0.10,你为什么需要这个?如果你有一个不匹配的API客户端,它会在内部执行API版本协商。 - OneCricketeer
为什么你想那样做?如果你只想知道版本,请登录到Kafka Manager/UI。 - Harsimranjit Singh Kler
我想知道在我的消费者/生产者上应该使用哪个具体版本。 - Gal Shaboodi
1个回答

3

检索 Kafka 集群版本最简单的方法是使用每个 broker 公开的 JMX 指标。通常,JMX 在 broker 上被激活以进行监视。

版本可以通过以下指标名称由每个 broker 公开:

kafka.server:type=app-info,version=<([-.\w]+)>

要完成这个任务,您可以使用jconsole或Apache/Confluent Kafka分发中提供的JmxTool。以下是一个例子:
$> ./bin/kafka-run-class kafka.tools.JmxTool --jmx-url service:jmx:rmi:///jndi/rmi://:9999/jmxrmi --object-name kafka.server:type=app-info --attributes version 

这将为您提供一个输出:
Trying to connect to JMX url: service:jmx:rmi:///jndi/rmi://:9999/jmxrmi.
"time","kafka.server:type=app-info:version"
1556186760721,2.1.0-cp1
1556186762728,2.1.0-cp1
1556186764727,2.1.0-cp1

请注意,您应该使用自己的环境信息配置属性--jmx-url


2
你如何获取 --jmx-url - Sida Zhou

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接