安装 Apache Kafka 使用 Docker 相对简便,以下是一种基本的方法:
-
获取 Docker 镜像: 打开终端或命令行窗口,运行以下命令获取 Kafka 和 ZooKeeper 的 Docker 镜像:
docker pull wurstmeister/zookeeper docker pull wurstmeister/kafka
-
创建 Docker 网络: 创建一个 Docker 网络,以便 Kafka 和 ZooKeeper 容器能够相互通信:
docker network create kafka-net
-
启动 ZooKeeper 容器: 运行以下命令启动 ZooKeeper 容器:
docker run -d --name zookeeper --network kafka-net -p 2181:2181 wurstmeister/zookeeper
-
启动 Kafka 容器: 运行以下命令启动 Kafka 容器,替换
<your-host-ip>
为你主机的 IP 地址:docker run -d --name kafka --network kafka-net -p 9092:9092 \ -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://<your-host-ip>:9092\ -e KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT\ -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \ -e KAFKA_CREATE_TOPICS="test:1:1"\ wurstmeister/kafka
这里创建了一个名为 "test" 的主题,可以根据需要更改。
-
测试 Kafka 是否正常运行: 创建一个 Kafka 生产者和消费者实例,分别用于发布和接收消息:
-
进入 Kafka 容器:
docker exec -it kafka /bin/bash
-
创建一个 Kafka 主题:
kafka-topics.sh --create --topic my-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
-
启动一个 Kafka 生产者:
kafka-console-producer.sh --topic my-topic --bootstrap-server localhost:9092
-
在生产者终端中输入一些消息。
-
在另一个终端中启动一个 Kafka 消费者:
kafka-console-consumer.sh --topic my-topic --bootstrap-server localhost:9092 --from-beginning
能够在消费者终端看到之前发布的消息。
-