有没有办法在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
提前致谢。
答案 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());