删除主题级别的配置

时间:2019-05-20 12:16:31

标签: apache-kafka

为了删除主题中的所有数据,我将其retention.ms配置设置为1000。

./bin/kafka-topics.sh --zookeeper $KAFKAZKHOSTS --alter --topic <topic> --config retention.ms=1000

这很好。短暂的等待后,所有数据都被删除。

在更改配置之前,未在主题上设置tention.ms,因此服务器默认属性log.retention.hours = 168是先前的保留策略。 (未在服务器属性中设置log.retention.minutes和log.retention.ms。)

现在,我想从本主题中完全删除tention.ms配置,然后返回使用服务器级配置。

类似命令

./bin/kafka-topics.sh --zookeeper $KAFKAZKHOSTS --alter --topic <topic> --config retention.ms=

./bin/kafka-topics.sh --zookeeper $KAFKAZKHOSTS --alter --topic <topic> --config retention.ms=null

引发错误。

我知道kafka-topics.sh的delete选项实际上删除了整个主题,因此我不会尝试使用它。

问题:如何完全删除主题级别的配置,以使主题恢复为使用服务器默认设置?

2 个答案:

答案 0 :(得分:1)

要删除主题配置替代,可以使用kafka-config工具。例如:

./bin/kafka-configs.sh --zookeeper <zookeeper> --alter \
  --entity-type topics --entity-name <topic> --delete-config retention.ms

答案 1 :(得分:0)

我使用的另一种传统解决方案是手动删除特定主题的特定文件夹。

  1. 首先停止kafka服务器
  2. 转到/ var / lib / kafka / data(安装时您指定的存储kafka数据ios的位置)
  3. rm -rf / var / lib / kafka / data / yourTopicName-0