大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
工作中因为各种原因,topic中消息堆积的太多或者kafka所在磁盘空间满了等。可能需要彻底清理一下kafka topic。
cd /opt/kafka/kafka_2.10-0.10.2.2/bin
列出所有topic:
./kafka-topics.sh –zookeeper ip:2181 -list
其实就是检查zk上节点的/brokers/topics子节点,打印出来。
创建topic
./kafka-topics.sh –zookeeper ip:2181 -create –topic my_topic –partitions 4 –replication-factor 1
线上环境将自动创建topic禁用掉,改为手动创建(auto.create.topics.enable=false),partitions和replication-factor是两个必备选项,
第一个参数是消息并行度的一个重要参数,第二个极大提高了topic的可用性,备份因子默认是1,相当于没有备份,其值不能大于broker个数,
否则会报错。同时还可以指定topic级别的配置参数,这种特定的配置会覆盖掉默认配置,并且存储在zookeeper的/config/topics/[topic_name]节点数据里。
–alter –config –deleteConfig。replication-factor参数用来指定需要多少个副本(连同leader在内),一般比较推荐设置为2或3。如果设置太少(比如1)导致可用性下降,
如果设置太大会影响Kafka的性能。
方式一:
配置delete.topic.enable=true
修改kafaka配置文件server.properties,添加delete.topic.enable=true,重启kafka。之后通过kafka命令行就可以直接删除topic
重启kafka
nohup /usr/kafka/bin/kafka-server-start.sh /usr/kafka/config/server.properties >/dev/null 2>&1 &
通过命令行删除topic:
./kafka-topics.sh –zookeeper ip:2181 –topic my_topic –delete
方式二:
没有配置delete.topic.enable=true
1、通过命令行删除topic:
./kafka-topics.sh –zookeeper ip:2181 –topic my_topic –delete
因为kafaka配置文件中server.properties没有配置delete.topic.enable=true,
此时的删除并不是真正的删除,只是把topic标记为:marked for deletion
2、删除kafka存储目录(server.properties文件log.dirs配置,默认为”/tmp/kafka-logs”)相关topic目录。
方式三:
若想真正删除它,需要登录zookeeper客户端:
cd /opt/kafka/zookeeper-3.4.13/bin
chmod 755 ./* (可执行命令)
命令:./bin/zkCli.sh
找到topic所在的目录:ls /brokers/topics
执行命令:rmr /brokers/topics/my_topic即可,此时topic被彻底删除。
另外被标记为marked for deletion的topic你可以在zookeeper客户端中通过命令获得:ls /admin/delete_topics/{topic name},
如果你删除了此处的topic,那么marked for deletion 标记消失。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/181011.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...