【问题标题】:Delete topic level config删除主题级别配置
【发布时间】:2019-10-06 19:38:58
【问题描述】:

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

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

这很好用。等待很短的时间后,所有数据都被删除了。

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

现在我想从这个主题中完全删除retention.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 的删除选项实际上会删除整个主题,所以我不会尝试使用它。

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

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2021-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-04
        • 1970-01-01
        • 2016-06-07
        相关资源
        最近更新 更多