Kafka:动态查询配置

时间:2016-03-23 20:47:31

标签: apache-kafka

有没有办法在server.properties中访问配置值而无法直接访问该文件本身?

我想:

kafka-configs.sh --describe --entity-type topics --zookeeper localhost:2181

可能会给我我想要的东西,但我没有看到server.properties中设置的值。如下(我将'ddos'设置为kafka-topics.sh中我自己的主题):

Configs for topics:ddos are
Configs for topics:__consumer_offsets are segment.bytes=104857600,cleanup.policy=compact

我在想我也会看到全局配置的选项,比如我的默认配置:

log.retention.hours=168

提前致谢。

1 个答案:

答案 0 :(得分:0)

从Kafka 0.11开始,您可以使用AdminClient describeConfigs() API来检索代理的配置。

例如,用于检索代理0的配置的框架代码:

Properties adminProps = new Properties();
adminProps.load(new FileInputStream("admin.properties"));
AdminClient admin = KafkaAdminClient.create(adminProps);

Collection<ConfigResource> resources = new ArrayList<>();
ConfigResource cr = new ConfigResource(Type.BROKER, "0");
resources.add(cr);
DescribeConfigsResult dcr = admin.describeConfigs(resources);
System.out.println(dcr.all().get());