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

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

节点node2

节点node3

1.2 删除kafka存储目录

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

删除该目录所有数据:

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

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

进入zookeeper的shell界面:

查看与kafka相关的znode节点:

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

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存在:

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

2. 某一topic数据清空

查看当前所有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-topics.sh查看test在zookeeper中相关znode节点信息是否已被删除

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

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

3. 思考

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

参考资料:

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

原文地址:https://www.cnblogs.com/swordfall/p/10014300.html

时间: 2024-07-29 14:51:15

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

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

近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进行清空.使用的数据库为MS SQL SERVER.1.搜索出所有表名,构造为一条SQL语句 declare @trun_name varchar(8000)set @trun_name='' select @trun_name=@trun_name + 'truncate table ' + [name] + ' ' from syso

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程

38套大数据,云计算,架构,数据分析师,Hadoop,Spark,Storm,Kafka,人工智能,机器学习,深度学习,项目实战视频教程 视频课程包含: 38套大数据和人工智能精品高级课包含:大数据,云计算,架构,数据挖掘实战,实时推荐系统实战,电视收视率项目实战,实时流统计项目实战,离线电商分析项目实战,Spark大型项目实战用户分析,智能客户系统项目实战,Linux基础,Hadoop,Spark,Storm,Docker,Mapreduce,Kafka,Flume,OpenStack,Hiv

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

1.kafka在高并发的情况下,如何避免消息丢失和消息重复? 消息丢失解决方案: 首先对kafka进行限速, 其次启用重试机制,重试间隔时间设置长一些,最后Kafka设置acks=all,即需要相应的所有处于ISR的分区都确认收到该消息后,才算发送成功 消息重复解决方案: 消息可以使用唯一id标识 生产者(ack=all 代表至少成功发送一次) 消费者 (offset手动提交,业务逻辑成功处理后,提交offset) 落表(主键或者唯一索引的方式,避免重复数据) 业务逻辑处理(选择唯一主键存储到R

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

获取 redis 中所有的 key 可用使用 *. redis 127.0.0.1:6379> KEYS * Redis Flushall 命令用于清空整个 Redis 服务器的数据(删除所有数据库的所有 key ). 语法 redis Flushall 命令基本语法如下: redis 127.0.0.1:6379> FLUSHALL redis 127.0.0.1:6379> DBSIZE # 1 号数据库的 key 数量 (integer) 6 redis 127.0.0.1:637

大数据云计算高级实战Hadoop,Flink,Spark,Kafka,Storm,Docker高级技术大数据和Hadoop技能

大数据和Hadoop技能可能意味着有你的梦想事业和被遗忘之间的差异.骰子引用:“技术专业人员应该志愿参与大数据项目,这使他们对目前的雇主更有价值,对其他雇主更有销路.” 1.与Hadoop的职业:根据福布斯2015年的一份报告,约有90%的全球性组织报告了中高级别的大数据分析投资,约三分之一的投资者称其投资“非常重要”.最重要的是,约三分之二的受访者表示,数据和分析计划对收入产生了重大的可衡量的影响. Hadoop技能是需求的 - 这是不可否认的事实!因此,IT专业人士迫切需要使用 Hadoop

Java抓取网页数据(原网页+Javascript返回数据)

转载请注明出处! 原文链接:http://blog.csdn.net/zgyulongfei/article/details/7909006 有时候因为种种原因,我们须要採集某个站点的数据,但因为不同站点对数据的显示方式略有不同! 本文就用Java给大家演示怎样抓取站点的数据:(1)抓取原网页数据:(2)抓取网页Javascript返回的数据. 一.抓取原网页. 这个样例我们准备从http://ip.chinaz.com上抓取ip查询的结果: 第一步:打开这个网页,然后输入IP:111.142.

大数据丨分享16个大数据技术

Java编程技术 Java编程技术是大数据学习的基础,Java是一种强类型语言,拥有极高的跨平台能力,可以编写桌面应用程序.Web应用程序.分布式系统和嵌入式系统应用程序等,是大数据工程师最喜欢的编程工具,因此,想学好大数据,掌握Java基础是必不可少的! 2.Linux命令 对于大数据开发通常是在Linux环境下进行的,相比Linux操作系统,Windows操作系统是封闭的操作系统,开源的大数据软件很受限制,因此,想从事大数据开发相关工作,还需掌握Linux基础操作命令. Hadoop** 在

大数据整理:0基础大数据学习的几个问题

大数据将彻底颠覆传统的生产方式生活方式,大数据的蓬勃发展,使许多人想从事大数据相关的工作.大数据就0基础入门的初学者们最关心的问题进行整理回答. 一.大数据的发展前景 1.人才稀缺:未来3至5年,中国需要200万+大数据人才,目前大数据从业人数不足50万,市场需求远远得不到满足: 2.需求增长快速:大数据对接金融.电商.医疗.新零售.物联网.工业.农业.交通和能源等行业,人才需求量持续扩大.2018年大数据行业起薪突破20万每年,高出互联网普通技术开发人员134%,且招聘人数扩大为2017年7.

【大数据开发】你知道大数据语言的工具与框架吗?

为了解大数据的当前和未来状态,我们采访了来自28个组织的31位IT技术主管.我们问他们,"你在数据提取,分析和报告中使用的最流行的语言,工具和框架是什么?" 以下的文章是他们告诉我们的记录,经过总结如下. Python,Spark,Kafka 随着大数据和对人工智能AL/机器学习 ML 的推动,Scala和Python语言以及Apache Spark中越来越受欢迎. 对OLAP数据仓库的迁移,如果用 Python开发机器学习使用较少的结构.开发者编写Python ML模型非常方便,Py