主流的Kafka使用Zookeeper,但最近Kafka将会逐步舍弃Zookeeper而使用自带的KRaft。所以以下步骤是基于Docker安装无Zookeeper的Kafka。
一、创建Kafka容器
docker run -p 9092:9092 --name kafka-3.7.0 apache/kafka:3.7.0
二、测试
1. 进入容器(需要两个终端)
docker exec -it kafka-3.7.0 bash
2. 创建topic
b52dbf48f024:/opt/kafka$ cd /opt/kafka/
b52dbf48f024:/opt/kafka$ bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092
Created topic quickstart-events.
b52dbf48f024:/opt/kafka$ bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092
Topic: quickstart-events TopicId: u4McHQvcTpabMUOPhMzPWQ PartitionCount: 1 ReplicationFactor: 1 Configs: segment.bytes=1073741824
Topic: quickstart-events Partition: 0 Leader: 1 Replicas: 1 Isr: 1
3. 生产者
b52dbf48f024:/opt/kafka$ cd /opt/kafka/
b52dbf48f024:/opt/kafka$ bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
>first
4. 消费者
b52dbf48f024:/opt/kafka$ cd /opt/kafka/
b52dbf48f024:/opt/kafka$ bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
first
通常来说,Kafka 发布的 Docker 镜像中,Kafka 安装在 /opt/kafka 目录下。而为了区分不同版本的 Kafka,可能会在目录名称中包含版本号和 Scala 版本。