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
- 点赞
- 收藏
- 关注作者
评论(0)