Kafka 单机集群 Docker Compose Windows

在本文中,我们将探讨如何使用 Docker Compose 在 Windows 上创建 Kafka 单机集群。我们将使用 Docker Compose 工具来定义并运行 Kafka 服务,这将使我们能够轻松地在本地开发环境中使用 Kafka。

准备工作

在开始之前,确保已经安装了以下工具:

  • Docker Desktop for Windows
  • Docker Compose

如果您尚未安装这些工具,请根据官方文档进行安装。

创建 Docker Compose 文件

首先,我们需要创建一个 Docker Compose 文件来定义我们的 Kafka 服务。在您喜欢的文本编辑器中创建一个名为 docker-compose.yml 的文件,并将以下代码粘贴到文件中。

version: '3'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"

  kafka:
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    depends_on:
      - zookeeper

上述代码定义了两个服务:Zookeeper 和 Kafka。Zookeeper 是 Kafka 的依赖服务,因此我们首先启动 Zookeeper,然后启动 Kafka。

在 Kafka 服务中,我们使用了 wurstmeister/kafka 镜像,并将容器的 9092 端口映射到主机上的 9092 端口。我们还设置了两个环境变量来配置 Kafka。

  • KAFKA_ADVERTISED_LISTENERS 用于告知 Kafka 客户端如何连接到 Kafka 服务。
  • KAFKA_ZOOKEEPER_CONNECT 用于指定 Zookeeper 服务的地址。

启动 Kafka 单机集群

要启动 Kafka 单机集群,打开命令提示符或 PowerShell,并导航到包含 docker-compose.yml 文件的目录。

运行以下命令来启动 Kafka 单机集群:

docker-compose up -d

这将使用 Docker Compose 启动 Zookeeper 和 Kafka 服务。加上 -d 参数可以在后台运行服务。

验证 Kafka 服务

一旦 Kafka 单机集群启动,我们可以使用 Kafka 命令行工具来验证服务是否正常工作。这些工具在 Kafka 容器中已经安装好了。

我们首先需要进入 Kafka 容器的命令行界面。使用以下命令:

docker-compose exec kafka bash

现在,我们可以运行 Kafka 命令行工具来执行各种操作。以下是一些常用的命令示例:

  • 创建一个名为 test-topic 的主题:
kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
  • 查看所有主题列表:
kafka-topics.sh --list --bootstrap-server localhost:9092
  • 发布消息到 test-topic 主题:
echo "Hello, Kafka!" | kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
  • 订阅并消费 test-topic 主题的消息:
kafka-console-consumer.sh --topic test-topic --bootstrap-server localhost:9092 --from-beginning

完成后,可以使用 exit 命令退出 Kafka 容器的命令行界面。

结论

通过使用 Docker Compose,我们可以轻松地在 Windows 上创建 Kafka 单机集群。我们定义了一个简单的 Docker Compose 文件来启动 Zookeeper 和 Kafka 服务,并使用 Kafka 命令行工具验证了服务的正常工作。

希望本文对您理解如何使用 Docker Compose 在 Windows 上创建 Kafka 单机集群有所帮助。祝您使用 Kafka 的愉快旅程!

journey
    title Create Kafka Single-node Cluster with Docker Compose on Windows
    section Prepare
        Docker Desktop for Windows: Completed
        Docker Compose: Completed
    section Create Docker Compose file
        Text editor: Completed
        Docker Compose file: Completed
    section Start Kafka Single-node Cluster
        Command Prompt or PowerShell: Completed
        docker-compose up -d: Completed