首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

kafka删除topic方式

工作中因为各种原因,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 ./* (可执行命令)

013
领券