kafka全部数据清空与某一topic数据清空

时间:2022-09-28 21:00:10

1. Kafka全部数据清空

kafka全部数据清空的步骤为:

  1. 停止每台机器上的kafka;
  2. 删除kafka存储目录(server.properties文件log.dirs配置,默认为“/tmp/kafka-logs”)全部topic的数据目录;
  3. 删除zookeeper上与kafka相关的znode节点;
  4. 重启kafka、如果删除topic还在则需要重启zookeeper;

这里以192.168.187.201 node1、192.168.187.202 node2、192.168.187.203 node3三台机器作为kafka的集群。

注意:kafka版本为kafka_2.11-1.1.1

1.1 停止每台机器上的kafka

以root用户分别登录三台机器,使用命令jps 找出kafka的PID,再使用命令 kill kafka进程。

节点node1

kafka全部数据清空与某一topic数据清空

节点node2

kafka全部数据清空与某一topic数据清空

节点node3

kafka全部数据清空与某一topic数据清空

1.2 删除kafka存储目录

在kafka安装目录的config文件夹下server.properties中查看存储目录为:

kafka全部数据清空与某一topic数据清空

删除该目录所有数据:

kafka全部数据清空与某一topic数据清空

kafka全部数据清空与某一topic数据清空

kafka全部数据清空与某一topic数据清空

1.3 删除zookeeper上与kafka相关的znode节点

zookeeper上面保存着kafka的所有topic及其消费信息,故需要删除与kafka相关的znode节点:

进入zookeeper的shell界面:

kafka全部数据清空与某一topic数据清空

查看与kafka相关的znode节点:

kafka全部数据清空与某一topic数据清空

在上面的znode节点中,除了zookeeper作为zk的安全保障措施,其他znode节点都得删除

kafka全部数据清空与某一topic数据清空

1.4 重启kafka

分别在node1、node2、node3上面执行如下命令启动kafka:

/opt/app/kafka_2.11-1.1.1/bin/kafka-server-start.sh /opt/app/kafka_2.11-1.1.1/config/server.properties > /dev/null 2>&1 &

jps命令查看node1、node2、node3上面的启动情况:

kafka全部数据清空与某一topic数据清空

kafka全部数据清空与某一topic数据清空

kafka全部数据清空与某一topic数据清空

最后在查看kafka上面是否还有topic存在:

kafka全部数据清空与某一topic数据清空

可以看到topic及其相关数据已被清空删除

2. 某一topic数据清空

查看当前所有topic

kafka全部数据清空与某一topic数据清空

kafka全部数据清空与某一topic数据清空

比如目前需要删除test这一topic,目前kafka_2.11-1.1.1以上版本默认delete.topic.enable=true,即是说使用命令

./kafka-topics.sh --zookeeper node1:2181 --delete --topic test

该命令将会在zookeeper中删除与test这一topic相关的znode节点(包括test详细信息、生产数据、消费数据的节点),并在kafka的存储目录/opt/data/kafka/kafka-logs/下把与test这一topic相关的存储数据目录标记为待删除,稍后会真正删除这些待删除的目录,如下:

kafka全部数据清空与某一topic数据清空

使用kafka-topics.sh查看test在zookeeper中相关znode节点信息是否已被删除

kafka全部数据清空与某一topic数据清空

在/opt/data/kafka/kafka-logs目录下查看test相关存储目录是否被标记删除

kafka全部数据清空与某一topic数据清空

在/opt/data/kafka/kafka-logs目录下查看test相关存储目录已被删除

kafka全部数据清空与某一topic数据清空

3. 思考

kafka全部数据清空步骤比较繁琐,借鉴某一topic数据清空的方式,可以通过使用kafka-topics.sh --delete命令逐个删除所有的topic,达到清空kafka全部topic数据的目的,不足的是topic“__consumer_offsets”无法删除,不过不碍事。

参考资料:

https://blog.csdn.net/belalds/article/details/80575751

kafka全部数据清空与某一topic数据清空的更多相关文章

  1. Kafka学习笔记之Kafka自身操作日志的清理方法(非Topic数据)

    0x00 概述 本文主要讲Kafka自身操作日志的清理方法(非Topic数据),Topic数据自己有对应的删除策略,请看这里. Kafka长时间运行过程中,在kafka/logs目录下产生了大量的ka ...

  2. kafka删除topic数据

    一.概述 生产环境中,有一个topic的数据量非常大.这些数据不是非常重要,需要定期清理. 要求:默认保持24小时,某些topic 需要保留2小时或者6小时 二.清除方式 主要有3个: 1. 基于时间 ...

  3. kafka 清除topic数据脚本

    原 kafka 清除topic数据脚本 2018年07月25日 16:57:13 pete1223 阅读数:1028     #!/bin/sh       param=$1   echo &quot ...

  4. 如何用Flink把数据sink到kafka多个不同(成百上千)topic中

    需求与场景 上游某业务数据量特别大,进入到kafka一个topic中(当然了这个topic的partition数必然多,有人肯定疑问为什么非要把如此庞大的数据写入到1个topic里,历史留下的问题,现 ...

  5. .net Kafka.Client多个Consumer Group对Topic消费不能完全覆盖研究总结(一)

    我们知道Kafka支持Consumer Group的功能,但是最近在应用Consumer Group时发现了一个Topic 的Partition不能100%覆盖的问题. 程序部署后,发现Kafka在p ...

  6. 使用SQL语句清空数据库所有表的数据

    使用SQL语句清空数据库所有表的数据 近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进 ...

  7. 丢掉DDL,我用这招3分钟清空 MySQL 9亿记录数据表

    摘要:最近由于福建开机广告生产环境的广告日志备份表主键(int类型)达到上限(21亿多),不能再写入数据,需要重新清空下该表并将主键重置,但由于表里有8亿多记录的数据量,使用重置命令及DDL命令执行地 ...

  8. Kafka在高并发的情况下,如何避免消息丢失和消息重复?kafka消费怎么保证数据消费一次?数据的一致性和统一性?数据的完整性?

    1.kafka在高并发的情况下,如何避免消息丢失和消息重复? 消息丢失解决方案: 首先对kafka进行限速, 其次启用重试机制,重试间隔时间设置长一些,最后Kafka设置acks=all,即需要相应的 ...

  9. 获取redis中所有的key,清空整个 Redis 服务器的数据

    获取 redis 中所有的 key 可用使用 *. redis 127.0.0.1:6379> KEYS * Redis Flushall 命令用于清空整个 Redis 服务器的数据(删除所有数 ...

随机推荐

  1. caffe下训练时遇到的一些问题汇总

    1.报错:“db_lmdb.hpp:14] Check failed:mdb_status ==0(112 vs.0)磁盘空间不足.” 这问题是由于lmdb在windows下无法使用lmdb的库,所以 ...

  2. workbench中safe update

    1.在workbench中表格显示为readonly ,更新时提示Error Code: 1175. You are using safe update mode and you tried to u ...

  3. xmpp整理笔记:xmppFramework框架的导入和介绍

    一个将要开发xmpp的项目,建议在项目刚创建就导入框架,这样可以避免一些自己操作失误造成不必要的损失. xmpp中最常用的框架就是 xmppFrameWork 往期回顾: xmpp整理笔记:环境的快速 ...

  4. iOS数据库学习(2)-基础SQL语句

    /* 1. 创建一个数据表 */ CREATE TABLE IF NOT EXISTS t_dog (name text, age integer); CREATE TABLE IF NOT EXIS ...

  5. Java Sax解析

    一.   Java Sax解析是按照xml文件的顺序一步一步的来解析,在解析xml文件之前,我们要先了解xml文件的节点的种类,一种是ElementNode,一种是TextNode.如下面的这段boo ...

  6. mysql 的 GROUP_CONCAT

    GROUP_CONCAT 通常跟 group by 一起用,但也可以不用.例:select GROUP_CONCAT(pct_id) as pct_ids from (select max(pct_i ...

  7. 程序员怎样在复杂代码中找 bug?(简单)

    分享下我的debug的经验 1. 优先解决那些可重现的,可重现的bug特别好找,反复调试测试就好了,先把好解决的干掉,这样最节约时间. 2. 对于某些bug没有头绪或者现象古怪不知道从哪里下手,找有经 ...

  8. oc结构

    结构 在oc中只能声明变量 不能声明函数和类 结构声明 struct DateT { int month; int day; int year; }; 结构可以在起最后的分号之后定义结构变量,并且可以 ...

  9. 深入浅出学习Hibernate框架(一):从实例入手初识Hibernate框架

    这篇博客是hibernate学习的第一篇,主要简介hibernate框架,之后简单说一下hibernate的文件夹结构,最后写一个简单的hibernate实例.通过这三步来简单的认识一下hiberna ...

  10. (大数据工程师学习路径)第二步 Vim编辑器----高级功能入门

    一.多文件编辑 1.使用vim编辑多个文件 编辑多个文件有两种形式,一种是在进入vim前使用的参数就是多个文件.另一种就是进入vim后再编辑其他的文件. 同时创建两个新文件并编辑 $ vim 1.tx ...