如何从DCOS Kafka中删除主题?

Wad*_*ade 5 marathon apache-kafka mesos

我们通过 DCOS 运行 Kafka。我们有一个主题似乎有一些错误的数据。我想删除那个主题。

尝试运行: kafka-topics.sh --zookeeper --delete --topic

这表示它已将主题标记为删除,但除非“delete.topic.enable=true”,否则它不会工作。尝试使用以下方法为每个经纪人进行设置:

dcos kafka 代理更新 1 --options delete.topic.enable=true`

然后重新启动经纪人

该主题仍然存在,并且仍然标记为删除。我怎样才能让经纪人删除该主题?

dev*_*arn 1

为了覆盖此参数,您需要将以下环境变量添加到 Kafka 服务:

KAFKA_OVERRIDE_DELETE_TOPICS=true
Run Code Online (Sandbox Code Playgroud)

您可以通过编辑按钮然后环境变量表单在 DCOS 服务定义中非常简单地更新它。

您会注意到它更改了您的配置描述符(json 文件):

...
"env": {
   ...
   "KAFKA_OVERRIDE_DELETE_TOPICS": "true",
   ...
}
...
Run Code Online (Sandbox Code Playgroud)

使用此设置重新启动服务后,您可以使用以下命令删除任何主题:

dcos kafka topic delete <topicname>
Run Code Online (Sandbox Code Playgroud)