文档章节

kafka0.8.1.1彻底删除topic并清空log内容

a
 allantaylor81
发布于 2015/04/16 18:15
字数 352
阅读 41
收藏 0

kafka0.8.1.1以及之前版本都无法使用类似一条命令就彻底删除topic,以前看过网上一些删除命令不过只是在zookeeper注销信息而已,但是实际的日志内容还是保存在kafka log中,因为个人需要所以慢慢琢磨了方法彻底清除topic(ps:kafka0.8.2好像直接支持直接删除,不过现在还是beta版 )。

本人机器环境如下:

Kafka目录:/usr/local/kafka_2.10-0.8.1.1

日志保存目录log.dirs:/data1/kafka/log/

删除的topic名字:zitest2

(1) 从zookeerer删除信息:

/usr/local/kafka_2.10-0.8.1.1/bin/kafka-run-class.shkafka.admin.DeleteTopicCommand --zookeeper 10.12.0.91:2181,10.12.0.92:2181,10.12.0.93:2181/kafka--topic zitest2

成功后返回信息:deletion succeeded!

(2) JPS查看kill掉QuorumPeerMain和Kafka进程

(3)从log.dirs目录删除文件,可以看到多个子目录名字如zitest2-0,zitest2-1…zitest2-n(就是你topic的partition个数)

rm  –fr  zitest2-0……zitest2-n

(4)  修改日志目录的recovery-point-offset-checkpoint和replication-offset-checkpoint文件(要小心删除,否则待会kafka不能正常启动起来)

replication-offset-checkpoint格式如下:

  0

  4(partition总数)

  zitest2 0 0

  zitest2  3 0

  hehe 0 0

  hehe 1 0

修改后如下:

  0

  2(partition总数)

  hehe 0 0

  hehe 1 0

把含有zitest2行全部去掉,并且把partition总数修改为减去zitest2的partition的剩余数目,同理recovery-point-offset-checkpoint也是这样修改。

完成后就可以正常启动zookeeper和kafka。

本文转载自:http://www.aboutyun.com/blog-19-791.html

共有 人打赏支持
a
粉丝 2
博文 120
码字总数 2912
作品 0
东城
Linux true命令清空文件内容

背景 有些时候我们需要清空文件内容, 但是不需要删除文件, 比如一些日志文件 a.log, 这时候可以使用 Linux 下的 true 命令。 使用示例 新建测试文件 添加文件内容 使用 vim 命令编辑 test.l...

JackieYeah
2016/07/19
138
0
Apache Kafka:分布式集群搭建(0.8.2.2V)

Kafka 和 Spack 都是使用 Scala语言编写的,使用 Kafka + Spack ,在搭建 Kafka集群,下载0.8V的Kafka时,就需要特别注意的是: 根据Spack目前所支持的Scala版本,去下载对应Scaka版本编写的...

翻船全靠浪
2015/10/27
0
0
如何清空rocketmq消息

停止 rocketmq:kill -9 全干掉就好 2. 删除 /root下的 logs/rocketmqlogs : 大量日志 删除 /root/store : 貌似是积攒的MQ中的topic等信息 [optional] 清空MQ里显示的topic sh mqadmin topi...

tantexian
2016/06/30
1K
0
基于Fourinone实现MQ demo

FourInOne也可以当成简单的mq来使用,该demo演示了队列和主题订阅两种模式的实现 一、队列 将domain视为mq队列,每个node为一个队列消息,检查domain的变化来获取队列消息。 Sender:是一个队...

fourinone
2011/08/30
0
0
关于Kafka的其他一些内容,堆积情况,retention,auto.offset.reset

producer是线程安全的,多线程分享共用一个producer比用多个 producer整体上要快 如果你想了解大数据的学习路线,想学习大数据知识以及需要免费的学习资料可以加群:784789432.欢迎你的加入。...

鲸落大叔
06/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

[Python进阶] Python命令行参数

Python 获得命令行参数的方法 需要模块:sys 参数个数:len(sys.argv) 脚本名: sys.argv[0] 参数1: sys.argv[1] 参数2: sys.argv[2] 解析命令行参数 Python提供了一个getopt模块,可用于解...

Eappo_Geng
11分钟前
0
0
add docker api url to jenkins

add docker api url to jenkins add jenkins to dockergroup gpasswd -a $USER docker gpasswd -a jenkins docker DOCKER_OPTS="-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock" in ......

kewei_zhang
15分钟前
0
0
Scala入门篇

1、定义变量 var 可变 val 不可变,相当于Java中的final Unit相当于Java中的void,以()表示 scala> val a = println("ddd") ddd a: Unit = () 2,声明数组 scala> val arr = Array(1,2,3,4,5) ......

算法之名
15分钟前
6
0
利用redis统计分布式集群中接口缓存命中情况

接口使用了缓存,想看看缓存命中率,到底提升了多少了?固想到做个统计方法,单机情况下使用 AtomicImteger,考虑到分布式集群中多台服务器调用,所以考虑使用redis进行统计 原来的想法很简单用分布...

计算机的小二青年
15分钟前
0
0
前端加密JS库--CryptoJS 使用指南

有时候项目涉及到的敏感数据比较多,为了信息安全,我们常常需要对一些数据进行接口加密处理,如编码、将明文转化为暗文、加密比对、AES + BASE64 算法加密等。 Base64 编码 为什么要编...

舒龙虎
18分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部