是否有办法从集群外部找出Kafka版本?
(也许使用telnet
或其他工具)
为澄清起见,我既没有向Kafka也没有向动物园管理员请教。
答案 0 :(得分:0)
可以通过telnet,ssh ...从计算机连接到服务器吗?如果可以,可以检查远程服务器上的kafka日志。
例如,我正在Linux Centos服务器上工作,kafka-logs位于/ var / logs / kafka中,那么我可以这样做:
$ head -n 50 /var/log/kafka/kafka-broker-quickstart.cloudera.log
检查输出并查找类似kafka-clients-2.1.0
答案 1 :(得分:0)
检索kafka Cluster版本的最简单的解决方案是使用每个代理公开的JMX指标。通常,JMX是在经纪人上激活以进行监视的。
每个经纪人都可以通过度量名称公开该版本:
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
。