[英]how to force delete topic from kafka
我们执行以下步骤以删除主题 - 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
. .
删除您一直在尝试的方式应该可以工作,但我猜 Kafka 在完整磁盘的情况下不能正常工作。
由于您的磁盘已满,我假设 Kafka 不可用并且短暂的停机时间是可以接受的。 手动删除主题:
hgpo.llo.prmt.processed
副本的 Kafka 代理上,转到其数据目录并删除以hgpo.llo.prmt.processed-
开头的文件夹。zookeeper-shell
工具连接 Zookeeperrmr /brokers/topics/hgpo.llo.prmt.processed
为了防止这种情况再次发生,我建议您查看 Kafka 提供的用于控制磁盘使用的保留策略
可以通过直接登录 ZooKeeper shell 并从集群中删除主题元数据来删除标记为删除的 Kafka 主题。 我们还建议从与主题关联的每个代理中删除日志段。
注意:应谨慎执行步骤 5,以确保您只删除要删除的主题的日志目录
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.