首页 > 解决方案 > Kafka Admin:如何以编程方式显示和设置每个主题的保留时间?

问题描述

我正在尝试以编程方式(Java)获取和设置 Kafka 集群中某些主题集的保留时间。

似乎无法使用org.apache.kafka.clients.admin.AdminClient.

除了命令行实用程序还有其他方法吗?

标签: apache-kafka

解决方案


kafka.admin.TopicCommandscala 类,这是kafka-topicsshell 脚本从 Kafka 二进制发行版中使用的:

https://github.com/apache/kafka/blob/a421dd2a26ca140f821cd5be1a4f716cf04beb43/core/src/main/scala/kafka/admin/TopicCommand.scala#L302-L318

您可以使用它,尽管您需要将 kafka 包作为项目的依赖项包含在内,而不仅仅是 Kafka 客户端。

如果您使用的是为 Scala 2.12 编译的 Kafka 2.1.1,则如下所示:

<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka_2.12</artifactId>
    <version>2.1.1</version>
</dependency>

https://mvnrepository.com/artifact/org.apache.kafka/kafka_2.12/2.1.1


推荐阅读