[Kafka]How to Clean Topic data

1.方法一.直接删除Topic

a:如果Kafka服务器 delete.topic.enable=false

1) kafka-topics.sh --delete --zookeeper host:port --topic topicname

2) 删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录

3)删除zookeeper "/brokers/topics/"目录下相关topic节点

b:如果Kafka服务器 delete.topic.enable=true

bin/kafka-topics.sh --zookeeper 192.168.4.71:2181,192.168.4.72:2181,192.168.4.73:2181delete test

2.方法二:设置retention.ms

2.1 设置原数据最大的保留时间1m,5分钟后删除,

bin/kafka-configs.sh --alter --zookeeper 192.168.4.71:2181,192.168.4.72:2181,192.168.4.73:2181 --entity-type topics --entity-name test  --add-configretention.ms=1000

2.2 删除完毕后,需要重新设置回来7 days

bin/kafka-configs.sh --alter --zookeeper 192.168.4.71:2181,192.168.4.72:2181,192.168.4.73:2181 --entity-type topics --entity-name test  --add-configretention.ms=604800000

3.查看topic基本信息

时间: 2024-10-03 13:45:57

[Kafka]How to Clean Topic data的相关文章

kafka.common.KafkaException: fetching topic metadata for topics

2016-10-26 11:05:29,716  WARN [flume_dx2.zdp.ol-1477451127056-e2015d55-leader-finder-thread] kafka.consumer.ConsumerFetcherManager$LeaderFinderThread (line 89) [flume_dx2.zdp.ol-1477451127056-e2015d55-leader-finder-thread], Failed to find leader for 

Kafka 如何读取指定topic中的offset -------------用来验证分区是不是均衡!!!(__consumer_offsets)(注,本文尚在测试验证阶段,,,后续一俩天会追加修正)

我现在使用的是librdkafka 的C/C++ 的客户端来生产消息,用flume来辅助处理异常的数据,,, 但是在前段时间,单独使用flume测试的时候发现,flume不能对分区进行负载均衡!同一个集群中,一个broker的一个分区已经有10亿条数据,另外一台的另一个分区只有8亿条数据: 因此,我对flume参照别人的做法,增加了拦截器: 即在flume配置文件中 增加以下字段: ----- stage_nginx.sources.tailSource.interceptors = i2sta

Kafka Java API操作topic

Kafka官方提供了两个脚本来管理topic,包括topic的增删改查.其中kafka-topics.sh负责topic的创建与删除:kafka-configs.sh脚本负责topic的修改和查询,但很多用户都更加倾向于使用程序API的方式对topic进行操作. 上一篇文章中提到了如何使用客户端协议(client protocol)来创建topic,本文则使用服务器端的Java API对topic进行增删改查.开始之前,需要明确的是,下面的代码需要引入kafka-core的依赖,以kafka 0

kafka启动及查看topic命令【已用过的,待更新】

以下均为开发测试环境下: 启动Zookeeperbin/zookeeper-server-start.sh config/zookeeper.properties &启动kafkabin/kafka-server-start.sh config/server.properties创建topicbin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic r

Kafka获取订阅某topic的所有consumer group【客户端版】

之前写过如何用服务器端的API代码来获取订阅某topic的所有consumer group,参见这里.使用服务器端的API需要用到kafka.admin.AdminClient类,但是这个类在0.11.0.0版本已经被标记为不推荐使用了,故目前最合适的方式还是通过客户端API:org.apache.kafka.clients.admin.AdminClient.今天碰到有人问这个问题,我就尝试写了一个.使用之前你需要引入kafka client包依赖(以2.2.0版本为例) Maven: <de

kafka Consumer分区数与多线程消费topic

单线程消费数据适合在本地跑. 参考文档: http://kafka.apache.org/documentation.html 对于一个topic,可以发送给若干个partitions. partition在创建topic的时候就指定分区的数目. 分区.Offset.消费线程.group.id的关系 1)一组(类)消息通常由某个topic来归类,我们可以把这组消息"分发"给若干个分区(partition),每个分区的消息各不相同: 2)每个分区都维护着他自己的偏移量(Offset),记

error[No partition metadata for topic test-1 due to kafka.common.LeaderNotAvailableException]

http://stackoverflow.com/questions/23228222/running-into-leadernotavailableexception-when-using-kafka-0-8-1-with-zookeeper-3 Kafka uses an external coordination framework (by default Zookeeper) to maintain configuration. It seems the configuration is

0022-如何永久删除Kafka的Topic

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看. 1.问题描述 使用kafka-topics --delete命令删除topic时并没有真正的删除,而是把topic标记为:"marked for deletion",导致重新创建相同名称的Topic时报错"already exists". 2.问题复现 1.登录Kafka集群所在的服务器,创建一个test的topic [[email protected] ~]# kafka-topics --creat

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

1. Kafka全部数据清空 kafka全部数据清空的步骤为: 停止每台机器上的kafka: 删除kafka存储目录(server.properties文件log.dirs配置,默认为“/tmp/kafka-logs”)全部topic的数据目录: 删除zookeeper上与kafka相关的znode节点: 重启kafka.如果删除topic还在则需要重启zookeeper: 这里以192.168.187.201 node1.192.168.187.202 node2.192.168.187.20