Kafka删除相关
查看Kafka方法
注意:查看consumer group列表有新、旧两种命令,分别查看新版(信息保存在broker中)consumer列表和老版(信息保存在zookeeper中)consumer列表,因而需要区分指定bootstrap–server和zookeeper参数:
第一种:
bin/kafka-consumer-groups.sh --bootstrap-server 127.0.0.1:9292 --list
结果:
lx_test
第二种:
bin/kafka-consumer-groups.sh --zookeeper 127.0.0.1:2181 --list
结果:
console-consumer-86845
console-consumer-11967
查看Kafka中消费情况
kafka_port默认9092,zk_port默认2181
列出topic
./bin/kafka-topics.sh --list --zookeeper KafkaIP:Kafka端口号 --list
查看group
./bin/kafka-consumer-groups.bat(windows为.bat,Linux为.sh) --bootstrap-server KafkaIP:Kafka端口号 --list
查看topic下group的消费情况
./bin/kafka-consumer-groups.bat(windows为.bat,Linux为.sh) --bootstrap-server KafkaIP:Kafka端口号 --group 上面查到的组名称 --describe
GROUP | TOPIC | PID | OFFSET | LOGSIZE | LAG |
---|---|---|---|---|---|
消费者组 | 主题id | 分区id | 当前已消费的条数 | 总条数 | 未消费的条数 |
删除Kafka中Group
进入zookeeper客户端:
zkCli.sh -server zookeeperIP:zookeeper端口(默认2181)
进入客户端执行:
ls /consumers
在consumers会看到你已经注册过的group信息,删掉想删掉的group就可以了。
rmr /consumers/group名称
删掉之后就相当于删除掉了group的注册信息,如果此时再重新注册这个group,那之前的生产的消息都是消费不到的。
另一种删除组是通过bootstrap-server删除
.\bin\windows\kafka-consumer-groups.bat(windows为.bat,Linux为.sh) --bootstrap-server KafkaIP:Kafka端口 --delete --group 组名称 --group 组名称2
删除Kafka中Topic方法
两种方法:
一、修改配置文件server.properties
添加如下配置:
delete.topic.enable=true
调用命令删除topic:
./bin/kafka-topics.sh --delete --zookeeper 【zookeeper server:port】 --topic 【topic name】
说明:官方给的文档说明“Enables delete topic. Delete topic through the admin tool will have no effect if this config is turned off”,意思就是说如果想删除topic,此项配置必须为true,默认为false。配置完重启kafka、zookeeper。
二、如果不想修改配置,也可以彻底删除topic
1、删除kafka存储目录(server.propertiewenjian log.dirs配置,默认为“/tmp/kafka-logs”)下对应的topic。(不同broker下存储的topic不一定相同,所有broker都要看一下)
2、进入zookeeper客户端删掉对应topic
zkCli.sh -server 【zookeeper server:port】
找到topic目录
ls /brokers/topics
删掉对应topic
rmr /brokers/topics/topic-name
找到目录
ls /config/topics
删掉对应topic
rmr /config/topics/topic-name
注意 /,Linux和Windows黑窗口中的 / 方向不一样,如果提示不是命令可以试试反方向 /