Kafka删除Topic

举报
Summer_ 发表于 2022/04/28 11:14:10 2022/04/28
【摘要】 Kafka删除Topic方法

1. 使用Kafka命令删除

删除topic命令:

kafka-topics.sh --delete --topic <topic name> --zookeeper <ZK_IP1:ZK_PORT,ZK_IP2:ZK_PORT,.../kafka>

例如:kafka-topics.sh --list --zookeeper zkIP:24002/kafka

ps:执行完此命令后topic已标记删除,实际上不一定删除,查看是否删除成功可通过查看topic的describe信息命令,如果查询无结果则删除成功,如果有结果则未删除成功。

删除成功示例:

2. 手动删除Topic

手动删除Topic信息时,需要同时删除ZK上的元数据和数据目录中的数据

删除zookeeper上的元数据

1. 登录安装Kafka客户端的节点。
2. 切换到Kafka客户端安装目录,例如“/opt/kafkaclient”。
    cd /opt/kafkaclient
3. 执行以下命令,配置环境变量。
    source bigdata_env
4. 执行以下命令,进行用户认证。(普通模式跳过此步骤)
    kinit 组件业务用户
5. 执行以下命令,其中zookeeper_IP为集群中任意一个zookeeper实例的业务ip
    zkCli.sh -server zookeeper_IP:24002/kafka
6. 为操作赋权限执行 addauth krbgroup

7. 删除topic对应的znode节点,其中topicname为待删除的topic。
   deleteall /kafka/brokers/topics/topicname
   deleteall /kafka/config/topics/topicname
   deleteall /admin/delete_topics/topicname (如果这个节点不存在可以不用删除)

删除数据目录中的数据

1. 登录manager页面,查看kafka的服务配置log.dirs,查看kafka对应的数据目录,默认情况下的保存目录为:
/srv/BigData/kafka/data*/kafka-logs
2.  登录每一个kafka节点,删除每一个数据目录下面每个topicname对应的分区目录:
cd /srv/BigData/kafka/data*/kafka-logs
rm -rf topicname-*
3. 确认每个节点的数据目录都清理干净后,重启kafka集群或者切换controller。
切换controller方法:

zkCli.sh -server zookeeper_IP:24002/kafka

get /controller

deleteall /controller

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。