kafka删除主题数据和删除主题

kafka使用confluent-3.1.2      删除的主题名:test

1、删除主题

在server.properties中增加设置,默认未开启
delete.topic.enable=true
删除主题命令
/bin/kafka-topics --delete --topic test --zookeeper localhost:2181

2、删除主题数据

如果想保留主题,只删除主题现有数据(log)。可以通过修改数据保留时间实现
bin/kafka-configs --zookeeper localhost:2181 --entity-type topics --entity-name test --alter --add-config retention.ms=3000
//修改保留时间为三秒,但不是修改后三秒就马上删掉,kafka是采用轮训的方式,轮训到这个主题发现三秒前的数据都是删掉。时间由自己在server.properties里面设置,设置见下面。

数据删除后,继续使用主题,那主题数据的保留时间就不可能为三秒,所以把上面修改的配置删掉,采用server.properties里面统一的配置。

bin/kafka-configs --zookeeper localhost:2181 --entity-type topics --entity-name test --alter --delete-config retention.ms
server.properties里面数据保留时间的配置
log.retention.hours=168  //保留时间,单位小时
log.retention.check.interval.ms=300000 //保留时间检查间隔,单位毫秒



  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
删除 Kafka 中的一个 topic 的数据,你可以按照以下步骤进行操作: 1. 停止 Kafka 服务:首先,确保 Kafka 服务已经停止运行,以免在删除数据时出现意外情况。 2. 删除 topic 数据目录:在 Kafka 的配置文件中,你可以找到 `log.dirs` 参数,该参数指定了 Kafka 存储 topic 数据的目录。默认情况下,数据目录位于 Kafka 安装目录下的 `data` 文件夹中。你可以使用文件管理器或命令行工具进入该目录,并删除与你想要删除数据的 topic 相关的文件夹。 3. 清理 ZooKeeper 数据Kafka 使用 ZooKeeper 来保存元数据信息。在删除 topic 数据后,你需要清理掉 ZooKeeper 中与该 topic 相关的元数据。你可以使用 Kafka 提供的 `kafka-topics.sh` 脚本来删除 ZooKeeper 中的元数据。 在 Kafka 安装目录下找到 `bin` 文件夹,并进入该文件夹。然后使用以下命令删除 topic 的元数据: ``` ./kafka-topics.sh --zookeeper <ZooKeeper 地址> --delete --topic <要删除的 topic 名称> ``` 其中,`<ZooKeeper 地址>` 是你的 ZooKeeper 服务器地址,`<要删除的 topic 名称>` 是你要删除的 topic 的名称。 4. 启动 Kafka 服务:完成上述步骤后,你可以重新启动 Kafka 服务,这样已经删除的 topic 数据就会彻底清除。 请注意,删除 topic 数据是一个不可逆的操作,一旦删除数据将无法恢复,请谨慎操作并确保你真正需要删除这些数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值