我们执行以下步骤以删除主题 - hgpo.llo.prmt.processed
但即使在12小时后,主题文件夹仍未从 / var / kafka / kafka-logs
中删除注意 - 我们设置 - delete.topic.enable = true
hkafka01 kafka-logs]# /usr/hdp/current/kafka-broker/bin/kafka-topics.sh --zookeeper master01:2181 --alter --topic hgpo.llo.prmt.processed--config retention.ms=1000
WARNING: Altering topic configuration from this script has been deprecated and may be removed in future releases. Going forward, please use kafka-configs.sh for this functionality Updated config for topic "hgpo.llo.prmt.processedd"
kafka01 kafka-logs]# /usr/hdp/current/kafka-broker/bin/kafka-topics.sh --zookeeper master01:2181 --delete --topic hgpo.llo.prmt.processed
Topic hgpo.llo.prmt.processed is already marked for deletion.
如何强制删除主题?
在kafka机器(生产机器)上,我们看到:(没有可用空间)
/dev/sdb 15500450528 15500434144 0 100% /var/kafka
在/ var / kafka / kafka-logs下,我们仍然看到所有主题文件夹(巨大的)作为示例:(向下)
因此可以通过
删除这些文件夹作为示例rm -rf hgpo.llo.prmt.processed-28 ?
在/ var / kafka / kafka-logs下我们有许多主题文件夹:
117G hgpo.llo.prmt.processed-28
117G hgpo.llo.prmt.processed-29
117G hgpo.llo.prmt.processed-3
117G hgpo.llo.prmt.processed-30
117G hgpo.llo.prmt.processed-31
117G hgpo.llo.prmt.processed-32
。
答案 0 :(得分:4)
删除你一直在尝试的方式应该有效,但我猜测Kafka在完整磁盘上效果不佳。
当您的磁盘已满时,我假设Kafka无法使用,并且可以接受短暂的停机时间。要手动删除主题:
hgpo.llo.prmt.processed
副本的Kafka经纪商上,转到他们的数据目录并删除以hgpo.llo.prmt.processed-
开头的文件夹。zookeeper-shell
工具rmr /brokers/topics/hgpo.llo.prmt.processed
为防止再次发生这种情况,建议您查看Kafka提供的用于控制磁盘使用情况的保留策略
答案 1 :(得分:0)
可以直接登录ZooKeeper shell并从集群中删除主题元数据来删除标记为删除的Kafka主题。我们还建议从每个代理中删除与该主题相关联的日志段。
注意:请谨慎执行第5步,以确保仅删除要删除的主题的日志目录