kafka常用命令行小计

environment:
ubuntu 16.04
docker-version: 18.09.7
docker-compose: 1.8.0
zookeeper(docker): lastest, port:28031
kafka(docker): lastest, port:28035

因为是ubuntu系统,所以输入docker命令前都加上sudo,为了输入省事,这里我们切换至root账号操作

切换root账号

sudo -i
password

进入kafka容器(容器名称: kafka-service)

docker exec -it kafka-service /bin/bash

进入kafka默认目录

cd /opt/kafka

手动创建topic

sh kafka-topics.sh --create --zookeeper zookeeper-service:28031 --replication-factor 1 --partitions 8 --topic groupName

手动创建生产者

sh kafka-console-producer.sh --broker-list localhost:28035 --topic groupName

手动消费某个topic

sh kafka-console-consumer.sh --bootstrap-server localhost:28035 --topic groupName--from-beginning

查看kafka的topic列表

bin/kafka-topics.sh --list --zookeeper zookeeper-service:28031
或者
bin/kafka-topics.sh --list --zookeeper ip:28031

查看所有消费者组

bin/kafka-consumer-groups.sh -bootstrap-server kafka-service:28035 -list
或者
bin/kafka-consumer-groups.sh -bootstrap-server ip:28035 -list

查看某组下某topic消费情况

bin/kafka-consumer-groups.sh -bootstrap-server kafka-service:28035 -group groupName -describe | grep topicName
或者
bin/kafka-consumer-groups.sh -bootstrap-server ip:28035 -group groupName -describe | grep topicName

清除kafka消息

1. 停掉调用kafka的docker容器
docker stop main-serivice

2. 清除kafka容器中的消息日志
删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录
cd /kafka && rm -rf kafka-logs*

3. 删除zookeeper中topic信息
(1) 登录客户端
docker exec -it zookeeper-service zkCli.sh
(2) 找到topic所在的目录
ls /brokers/topics
(3) 彻底删除topic
rmr /brokers/topics/topicName
(4) 退出客户端
quit

4. 删除zookeeper容器中日志
(1) 进入zookeeper容器
docker exec -it d7cb18388ee6 /bin/bash
(2) 删除日志
cd /data && rm -rf version-2
(3) 退出容器
exit

5. 重启(按顺序)
(1) 重启zookeeper
docker restart zookeeper-service
(2) 重启kafka
docker restart kafka-service
(3) 重启调用kafka的docker容器
docker restart main-serivice

你可能感兴趣的:(kafka常用命令行小计)