如何实现“docker kafka单机不要zookeeper”

概述

在使用Docker搭建Kafka单机环境时,默认情况下会包含Zookeeper,但有时我们可能只需要Kafka,不需要Zookeeper。本文将向你展示如何使用Docker搭建Kafka单机环境,同时不包含Zookeeper。

流程图

下载Kafka镜像 创建Kafka容器 启动Kafka容器 配置Kafka 测试Kafka

步骤

1. 下载Kafka镜像

首先,我们需要从Docker Hub上下载Kafka镜像。在终端中执行以下命令:

docker pull wurstmeister/kafka
  • 1.
2. 创建Kafka容器

接下来,我们创建一个Kafka容器,注意不要包含Zookeeper。运行以下命令:

docker run -d --name kafka -p 9092:9092 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka
  • 1.
3. 启动Kafka容器

启动刚创建的Kafka容器:

docker start kafka
  • 1.
4. 配置Kafka

配置Kafka的参数,打开server.properties文件:

docker exec -it kafka /bin/bash
cd /opt/kafka/config
vi server.properties
  • 1.
  • 2.
  • 3.

编辑server.properties文件,确保以下参数配置正确:

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://localhost:9092
  • 1.
  • 2.
5. 测试Kafka

现在,可以测试Kafka是否正常工作。创建一个生产者和一个消费者进行测试:

docker exec -it kafka /bin/bash
cd /opt/kafka/bin
./kafka-console-producer.sh --broker-list localhost:9092 --topic test
# 在新终端窗口中执行
docker exec -it kafka /bin/bash
cd /opt/kafka/bin
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

至此,你已经成功搭建了一个不包含Zookeeper的Kafka单机环境。希望这篇文章对你有所帮助。


通过以上步骤,你可以成功在Docker中部署一个不包含Zookeeper的Kafka单机环境。希望这篇文章对你有所帮助。如有任何疑问,欢迎提问。祝你学习进步!