kafka数据分区不足删除操作

砾滩端口
• 阅读 1817

有时候由于特定的业务需要,我们的kafka分区的磁盘可能不够,这个时候我们需要自身删除磁盘数据或者使用脚本定时检测删除消费完的磁盘数据。但是有一个重要的点是:我们需要使用同一个topic主题,所以在删除数据之后我们需要重置这些主题的offset。
kafka数据分区不足删除操作
我们以kafka容器集群部署方式为例。

查看分区使用主题大小

1.进入kafka集群docker机器

docker exec -it kafka bash;

2.进入数据目录下:
有时候我们的磁盘是挂载到本地磁盘的,所以我们也可以在本地磁盘查看

cd /kafka/kafka-logs-kafka1

3.查看topic对应文件大小:

du -sh *;

出现:

532G    test-1
532G    test-6

所以我们的test主题的数据量比较大。

4.然后停止服务,让对应的topic数据消费完毕
我们在我们的kafka-manager上进行操作:删除主题,在重新创建主题,设置分区。

5.重置消费group的偏移量lag

bin/kafka-consumer-groups.sh --bootstrap-server 192.168.100.11:9092 --group process-group-news --topic test --to-earliest --reset-offsets --execute

6.查看某个kafka消费组的分区offset情况

./kafka-consumer-groups.sh --bootstrap-server 192.168.100.11:9092 --describe --group process-group-news

7.查看数据总量

./bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list 192.168.100.11:9092 --topic test --time -1

8.删除主题

./bin/kafka-topics.sh --delete --topic test --bootstrap-server 192.168.100.11:9092

9.删除消费组

./bin/kafka-consumer-groups.sh --bootstrap-server  192.168.100.11:9092 --describe --group process-group-news

10.获取1条数据

./bin/kafka-console-consumer.sh --bootstrap-server 192.168.100.11:9092 --from-beginning --topic test --max-messages 1;

常见kafka操作

1、进入kafka的终端输入数据
追加文件写入

bin/kafka-console-producer.sh --broker-list 172.21.81.214:9092 --topic Quick_Access_data_out_auto < /kafkatest.json

其中kafkatest.json是需要写入的数据文件。

单纯打开kafka的终端

bin/kafka-console-producer.sh --broker-list 172.21.81.214:9092 --topic Quick_Access_data_out_auto

或者

bin/kafka-console-producer.sh --bootstrap-server 172.21.81.214:9092 --topic Quick_Access_data_out_auto

注意:在某些高版本的kafka下 服务器列表指令是:--bootstrap-server

2、消费数据

bin/kafka-console-consumer.sh --broker-list 172.21.81.214:9092 --topic Quick_Access_data_out_auto

或者

bin/kafka-console-consumer.sh --bootstrap-server 172.21.81.214:9092 --topic Quick_Access_data_out_auto

3、后台启动kafka

bin/kafka-server-start.sh -daemon ./config/server.properties

4、创建topic

bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic Quick_Access_data_out_auto --partitions 1 --replication-factor 1

5、查看kafka topic列表
使用--list参数

bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --list
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
MySQL 磁盘满了,怎么办??
问题使用命令发现磁盘使用率为100%了,还剩几十兆。一系列神操作:备份数据库,删除实例、删除数据库表、重启mysql服务.结果磁盘空间均为释放怎么办网上查了很多资源,说要进行磁盘碎片化整理。原因是datafree占据的空间太多啦。具体可以通过这个sql查看。SELECTCONCAT(TRUNCATE(S
Stella981 Stella981
3年前
Kafka监控工具kafka
KafkaMonitor为Kafka的可视化管理与监控工具,为Kafka的稳定运维提供高效、可靠、稳定的保障,这里主要简单介绍KafkaMonitor的相关功能与页面的介绍;  KafkaMonitorv0.1主要功能有:Kafka基本信息仪表盘、broker列表、topic列表、当前消费者列表、Topic添加删除、Topic数据
Stella981 Stella981
3年前
Kafka auto.offset.reset值详解
昨天在写一个java消费kafka数据的实例,明明设置auto.offset.reset为earliest,但还是不从头开始消费,官网给出的含义太抽象了。 earliest:automaticallyresettheoffsettotheearliestoffset,自动将偏移量置为最早的。难道不是topic中各分区的开始?结果
Stella981 Stella981
3年前
Spark Streaming 交互 Kafka的两种方式
一、SparkStreaming连Kafka(重点)方式一:Receiver方式连:走磁盘使用HighLevelAPI(高阶API)实现Offset自动管理,灵活性差,处理数据时,如果某一时刻数据量过大就会磁盘溢写,通过WALS(WriteAheadLogs)进行磁盘写入,0.10版本之后被舍弃,相当于一个人拿着一个水杯去接水,水龙头的
Stella981 Stella981
3年前
Kafka生产者哪些重要的参数是我们需要注意的?
在KafkaProducer中大部分的参数都有合理的默认值,一般不需要修改它们。不过了解这些参数可以让我们更合理地使用生产者客户端,其中还有一些重要的参数涉及程序的可用性和性能,如果能够熟练掌握它们,也可以让我们在编写相关的程序时能够更好地进行性能调优与故障排查。下面挑选一些重要的参数进行讲解。1\.acks这个参数用来指定分区中必须要
Stella981 Stella981
3年前
Kafka 中两个重要概念:主题与分区
在Kafka中还有两个特别重要的概念—主题(Topic)与分区(Partition)。Kafka中的消息以主题为单位进行归类,生产者负责将消息发送到特定的主题(发送到Kafka集群中的每一条消息都要指定一个主题),而消费者负责订阅主题并进行消费。这里补充了对Kafka基本概念(https://www.oschina.net/action
Wesley13 Wesley13
3年前
MySQL 处理重复数据
有些MySQL数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据。防止表中出现重复数据你可以在MySQL数据表中设置指定的字段为PRIMARYKEY(主键)或者UNIQUE(唯一)索引来保证数据的唯一性
Stella981 Stella981
3年前
PostgreSQL drop database 显示会话没有关闭 [已解决]
错误重现有时候需要删除某个数据库时,会报如下错误,显示有一个连接正在使用数据库,无法删除ERROR:database"pilot"isbeingaccessedbyotherusersDETAIL:Thereis1othersessionusingthedatabase.解决方法
Stella981 Stella981
3年前
Kafka 中的消息存储在磁盘上的目录布局是怎样的?
Kafka中的消息是以主题为基本单位进行归类的,各个主题在逻辑上相互独立。每个主题又可以分为一个或多个分区,分区的数量可以在主题创建的时候指定,也可以在之后修改。每条消息在发送的时候会根据分区规则被追加到指定的分区中,分区中的每条消息都会被分配一个唯一的序列号,也就是通常所说的偏移量(offset),具有4个分区的主题的逻辑结构见下图。!(http
芝士年糕 芝士年糕
2年前
linux磁盘扩容大全
当我们租了服务器之后,肯定会需要到磁盘扩容的。一、背景linux使用中经常遇到磁盘空间不足,需要对磁盘进行扩容。根据自己的经验进行归纳整理,多种场景,帮助需要者和备查本文执行的命令,均在centos7环境下运行的,其他环境思路和相似,命令基本一致。分区情况说明:sda是单独的一块磁盘总大小50G,sda1、sda2是两个分区,sda2下面有
王灵官 王灵官
1年前
数据库Delete的多种用法
数据库的Delete操作是用来删除数据库中的数据记录的,它是数据库操作中的一种重要操作,能够帮助用户删除不需要的数据,以便保持数据库的整洁和高效。在使用Delete操作时,需要注意确保操作的准确性和安全性,以免误删重要数据或造成不可逆的损失。Delete操