首先进入docker容易内部,docker ps查看正在运行的容器
然后通过docker exec -it 容器id bash命令进入容器内部
对topic进行增删改查
进入kafka安装文件夹 cd /opt/kafka/bin
1、增加topic
kafka-topics.sh --create --topic example --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1
--zookeeper 表示ZK地址,可以传递多个,用逗号分隔 IP:PORT,IP:PORT,IP:PORT/kafka
--replication-factor 表示副本数量,这里的数量是包含Leader副本和Follower副本,副本数量不能超过代理数量
--partitions 表示主题的分区数量,必须传递该参数。Kafka的生产者和消费者采用多线程并行对主题的消息进行处理,每个线程处理一个分区,分区越多吞吐量就会越大,但是分区越多也意味着需要打开更多的文件句柄数量,这样也会带来一些开销。
2、查看topic
kafka-topics.sh --zookeeper zookeeper:2181 --list
3、删除topic
kafka-topics.sh --zookeeper zookeeper:2181 --delete --topic example
3-1、彻底删除topic
# 进入zookeeper容器
docker exec -it 容器名 /bin/sh
# 进入zookeeper客户端,不同的zookeeper版本进入方式可能不同
./bin/zkCli.sh
# 查看topics数据
ls /brokers/topics
# 找到要删除的topic,执行命令:rmr /brokers/topics/【topic name】即可,此时topic被彻底删除。
rmr /brokers/topics/topic名称
4、获取topic详情
kafka-topics.sh --zookeeper zookeeper:2181 --describe --topic example
命令行发送、消费消息
1、生产者发送消息
kafka-console-producer.sh --broker-list localhost:9092 --topic example
2、消费者消费消息
启动消费者和生产者后,生产者发送消息,消费者就会接收到