【发布时间】:2019-11-21 23:36:47
【问题描述】:
有没有办法以编程方式获取 kafka 集群的版本?比如,使用
AdminClientAPI。
我想在消费者/生产者应用中识别 kafka 集群的版本。
【问题讨论】:
标签: apache-kafka
有没有办法以编程方式获取 kafka 集群的版本?比如,使用
AdminClientAPI。
我想在消费者/生产者应用中识别 kafka 集群的版本。
【问题讨论】:
标签: apache-kafka
目前无法检索代理正在运行的 Kafka 版本。
正在进行一个 KIP 以将该功能添加到 AdminClient:KIP-483: Add Broker Version API in Admin Client,以便在未来的版本中可用。
与此同时,您可以尝试一些解决方法:
使用describeConfigs() 查找代理的inter.broker.protocol.version 配置。如果返回 2.2-IV1,则表示代理正在运行至少 2.2。
检查 ApiVersions 响应。在启动客户端时发送一个 ApiVersions 请求,并且响应写入日志(在 INFO 级别)。或者手动发送ApiVersions,制作这样的请求非常容易,因为它是一个空的正文。然后您可以使用https://cwiki.apache.org/confluence/display/KAFKA/Kafka+APIs 识别代理版本
【讨论】:
您可以在您的消费者/生产者代码中使用AppInfoParser.getVersion();。
【讨论】: