我希望列出kafka代理上所有活动的配置。我可以在server.properties文件中看到配置,但这还不是全部,它不能显示所有配置。我希望能够看到所有配置,甚至是默认配置。这可能吗? 对此方向的任何指尖将不胜感激。
答案 0 :(得分:1)
没有命令可以列出kafka代理的当前配置。但是,如果要查看所有具有默认值和重要性的配置参数,请在此处列出
https://docs.confluent.io/current/installation/configuration/broker-configs.html
答案 1 :(得分:0)
您可以通过Kafka AdminClient以编程方式实现该目标(我使用的是2.0 FWIW-界面仍在不断发展):
final String brokerId = "1";
final ConfigResource cr = new ConfigResource(Type.BROKER, brokerId);
final DescribeConfigsResult dcr = admin.describeConfigs(Arrays.asList(cr));
final Map<ConfigResource, Config> configMap = dcr.all().get();
for (final Config config : configMap.values()) {
for (final ConfigEntry entry : config.entries()) {
System.out.println(entry);
}
}
每个配置条目都有一个' source '属性,该属性指示该属性来自何处(对于代理,它是默认的代理配置或每个代理覆盖;对于主题,还有更多可能的值)