kafka topic手动删除及其他相关

原创 2015年11月20日 16:56:29
1.手动删除kafka topic


运行./kafka-topic --zookeeper zk1:2181,zk2:2181 --topic topic_name --delete
如果topic没能成功被删除(比如broker挂掉等)
可以用以下方式手动清理
(当然,也可以重启zk和broker;这样当broker正确注册上zk试,被mark delete的topic会被自动清理掉)


===============停止kafka,保持zookeeper仍旧运行======================================


a.用zookeeper客户端zkClient连接zookeeper,如:


./zkCli.sh -server 10.67.2.21:2181,10.67.2.20:2181


连接上后,可以用命令查看zk的目录结构


ls /brokers/topics


然后可以看到该目录下有pjtest目录


删除方式:
delete /brokers/topics/pjtest/partitions/0/state
...
delete /brokers/topics/pjtest/partitions/9/state
delete /brokers/topics/pjtest/partitions/0
...
delete /brokers/topics/pjtest/partitions/9
delete /brokers/topics/pjtest/partitions
delete /brokers/topics/pjtest


===========停止kafka和zookeeper========================


a.查看server.properties中配置的log.dirs路径
b.进入到此路径中(如果kafka是一个集群,需要在每台机器上执行)
假定要删除的topic名称叫做:pjtest


则rm -rf pjtest-*


vi replication-offset-checkpoint
原文为:
0
15
pjtest 4 0
pjtest 8 0
managejob 5 0
pjtest 6 0
pjtest 0 0
pjtest 5 0
pjtest 3 0
pjtest 7 0
pjtest 9 0
pjtest 2 0
managejob 9 0
managejob 1 0
managejob 3 0
pjtest 1 0
managejob 7 0


修改为:
0
5
managejob 5 0
managejob 9 0
managejob 1 0
managejob 3 0
managejob 7 0




vi recovery-point-offset-checkpoint
同理修改


===========启动kafka和zookeeper========================


2.kafka日志清理


kafka将会保留所有发布的消息,不论他们是否被消费过
如果需要清理,则需要进行配置;
server.properties配置:


log.cleanup.policy=delete
日志清理策略


log.retention.hours=240
数据存储的最大时间超过这个时间会根据log.cleanup.policy设置的策略处理数据,也就是消费端能够多久去消费数据
log.retention.bytes和log.retention.minutes任意一个达到要求,都会执行删除


log.retention.bytes=-1
topic每个分区的最大文件大小
一个topic的大小限制=分区数*log.retention.bytes
-1表示没有大小限制
log.retention.bytes和log.retention.minutes任意一个达到要求,都会执行删除


log.retention.check.interval.ms=5minutes
文件大小检查的周期时间


3.kafka的分布式


一个日志的多个partition被分散在kafka集群的多个server上,并且每一个server处理来自于某个partition的数据请求。每个partition可以配置副本个数,以便容错。
(注:在创建topic时,可以指定--replication-factor参数)


每个partition都有个一个server作为leader,并且有0或者多个server作为followers。leader处理对于这个partition的所有读写请求,而followers则被动的复制一切。如果leader挂掉了,一个followers则会自动的成为新的leader。每个server都会在某些partition上作为leader,而在另一些partition上作为follower,所以整个集群是非常平衡的。
(注:如果topic的repliation配置为1,则每个partition就只有唯一的一个leader,没有follower;所以要保证容错性,至少replication应该配置为2)




4.kafka producer最好使用轮询的方式向topic写数据,保证topic每个partition的负载是均衡的
版权声明:本文为博主原创文章,未经博主允许不得转载。

漫游Kafka之过期数据清理

Kafka将数据持久化到了硬盘上,允许你配置一定的策略对数据清理,清理的策略有两个,删除和压缩。...
  • honglei915
  • honglei915
  • 2015年11月06日 15:40
  • 19649

kafka清理数据

kafka清理数据
  • u012621115
  • u012621115
  • 2017年08月25日 11:15
  • 960

apache Kafka是如何实现删除数据文件(日志)的

Kafka删除数据有两种方式,一种是按照时间,超过一段时间后删除过期消息,第二种是按照消息大小删除数据的,消息数量超过一定大小后删除最旧的数据 但是Kafka的数据是存储在文件系统内的,随机删除数据...
  • lizhitao
  • lizhitao
  • 2014年12月30日 14:38
  • 9147

彻底删除Kafka中的topic

1、删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录 2、Kafka 删除topic的命令是:    ...
  • fengzheku
  • fengzheku
  • 2016年01月26日 11:29
  • 38910

kafka 数据删除策略

数据的存储位置 数据存储的文件类型 数据删除策略
  • xianzhen376
  • xianzhen376
  • 2016年05月25日 19:56
  • 4285

Kafka某topic无法消费解决方案&Kafka某Topic数据清理

由于项目原因,最近经常碰到Kafka消息队列某topic在集群宕机重启后无法消费的情况。碰到这种情况,有三步去判断原因所在: step A:如果用kafka串口(即console-consume...
  • SCTU_vroy
  • SCTU_vroy
  • 2017年05月25日 22:42
  • 6283

Kafka数据清理配置

Kafka将数据持久化到了硬盘上,允许你配置一定的策略对数据清理,清理的策略有两个,删除和压缩。 数据清理的方式 删除 log.cleanup.policy=delete启用删除策略 直接...
  • qq_23146763
  • qq_23146763
  • 2018年01月15日 13:10
  • 37

kafka清空topics

1、缘由(需求):因为测试时不小心,写了一大堆topics,看监测时一顿揪心。 2、解决方案:kafka是被zookeeper监管的,topics是在zookeeper上的(描述可能不是很准确),我发...
  • lizhongyang1
  • lizhongyang1
  • 2015年12月16日 08:20
  • 789

kafka删除消息

如果设置了可删除直接命令删除配置server.propertiesdelete.topic.enable=true#删除test kafka-topics --delete --zookeeper ...
  • BoomHankers
  • BoomHankers
  • 2018年01月17日 19:33
  • 199

彻底删除kafka的topic方法

1、删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录 2、Kafka 删除topic的命令是: ka...
  • xbs1019
  • xbs1019
  • 2017年02月07日 22:22
  • 4753
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:kafka topic手动删除及其他相关
举报原因:
原因补充:

(最多只允许输入30个字)