windows 环境 docker desktop 搭建 zookeeper、kafka

// 安装Zookeeper镜像
docker pull zookeeper:3.6.3
 
// 运行ZooKeeper容器
docker run -d --name zookeeper -p 2181:2181 zookeeper:3.6.3
 
// 查看容器状态
docker ps
 
// 安装Kafka镜像
docker pull bitnami/kafka:3.5.1
 
// 启动Kafka容器
docker run -d --name kafka -p 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 --env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 bitnami/kafka:3.5.1
 
 
// 查看容器状态
docker ps
 
 
// 进入kafka容器
docker exec -it kafka /bin/bash
 
 
// 创建测试主题
kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test123
 
 
 
// 开启生产者 -> 然后你可以输入一些消息(比如输入hell按下enter)。
kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test123
 
 
 
// 重新打开一个终端窗口 -> 进入kafka镜像 -> 开启消费者 -> 如果一切设置正确,你应该能在消费者终端中看到你在生产者终端输入的消息
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test123 --from-beginning
 
 

### 准备工作 为了在 Docker Desktop 上成功安装并配置 ZookeeperKafka 集群,环境需满足一定条件。确保已安装 JDK 和 Docker 是必要的前提[^2]。 ### 下载镜像 启动项目前,应拉取所需的 Docker 镜像: ```bash docker pull wurstmeister/zookeeper docker pull wurstmeister/kafka ``` 上述命令会下载 `wurstmeister` 提供的官方 ZookeeperKafka 镜像版本。 ### 创建临时容器 创建临时容器以便于将容器内部的 ZookeeperKafka 文件复制至宿主机,从而方便后续操作和挂载目录设置: ```bash docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper ``` 此步骤有助于解决直接挂载可能导致的问题,并确保日志管理得当。 ### 编写 docker-compose.yml 文件 编写适用于 Windows 环境下的 `docker-compose.yml` 文件来定义服务。对于 Windows 用户而言,路径应当采用 Windows 的风格表示法。下面是一个简单的例子,展示了如何构建一个包含单节点 Zookeeper 及三节点 Kafka 集群的服务描述文件: ```yaml version: '3' services: zookeeper: image: wurstmeister/zookeeper ports: - "2181:2181" volumes: - type: bind source: D:\docker\zookeeper\data target: /var/lib/zookeeper/data - type: bind source: D:\docker\zookeeper\datalog target: /var/lib/zookeeper/datalog kafka1: image: wurstmeister/kafka depends_on: - zookeeper environment: KAFKA_BROKER_ID: 1 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 ports: - "9092:9092" volumes: - type: bind source: D:\docker\kafka\bdata1 target: /kafka/kafka-data kafka2: image: wurstmeister/kafka depends_on: - zookeeper environment: KAFKA_BROKER_ID: 2 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9093 ports: - "9093:9093" volumes: - type: bind source: D:\docker\kafka\bdata2 target: /kafka/kafka-data kafka3: image: wurstmeister/kafka depends_on: - zookeeper environment: KAFKA_BROKER_ID: 3 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9094 ports: - "9094:9094" volumes: - type: bind source: D:\docker\kafka\bdata3 target: /kafka/kafka-data ``` 该配置文件指定了 Zookeeper 和三个 Kafka 节点之间的关系以及它们各自的端口映射、依赖项和服务间通信方式[^1]。 ### 启动集群 完成以上所有准备工作之后,在保存了 `docker-compose.yml` 文件的位置打开终端窗口执行如下指令即可一键部署整个集群: ```bash docker-compose -f D:\path_to_your_file\docker-compose.yml up -d ``` 这将会依据所提供的 YAML 文件中的定义去创建或更新指定的服务实例,并将其置于后台运行模式下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值