有没有办法以编程方式获取kafka集群的版本?例如,使用 AdminClient 应用程序编程接口。我想在消费者/生产者应用程序中识别kafka集群的版本。
AdminClient
dsekswqp1#
你可以用 AppInfoParser.getVersion(); 在您的消费者/生产者代码中。
AppInfoParser.getVersion();
2ledvvac2#
目前没有办法检索正在运行的kafka版本代理。有一个正在进行的kip将该特性添加到adminclient中:kip-483:在adminclient中添加代理版本api,以便在将来的版本中可用。同时,您可以尝试以下几种解决方法:使用 describeConfigs() 找到 inter.broker.protocol.version 经纪人的配置。如果它回来了 2.2-IV1 ,这意味着代理至少运行2.2。检查apiversions响应。启动时,客户机发送一个apiverses请求,并将响应写入日志(在info级别)。或者手动发送一个apiversions,因为它是一个空的主体,所以很容易创建这样的请求。然后您可以使用https://cwiki.apache.org/confluence/display/kafka/kafka+apis
describeConfigs()
inter.broker.protocol.version
2.2-IV1
2条答案
按热度按时间dsekswqp1#
你可以用
AppInfoParser.getVersion();
在您的消费者/生产者代码中。2ledvvac2#
目前没有办法检索正在运行的kafka版本代理。
有一个正在进行的kip将该特性添加到adminclient中:kip-483:在adminclient中添加代理版本api,以便在将来的版本中可用。
同时,您可以尝试以下几种解决方法:
使用
describeConfigs()
找到inter.broker.protocol.version
经纪人的配置。如果它回来了2.2-IV1
,这意味着代理至少运行2.2。检查apiversions响应。启动时,客户机发送一个apiverses请求,并将响应写入日志(在info级别)。或者手动发送一个apiversions,因为它是一个空的主体,所以很容易创建这样的请求。然后您可以使用https://cwiki.apache.org/confluence/display/kafka/kafka+apis