前提:1、安装docker for Windows,2,安装docker-compose

  • 镜像选择:

对比网上给出的版本比较,选择wurstmeister/kafka 和 wurstmeister/zookeeper,

原因:kafka版本较新,zookeeper跟kafka分在2个镜像中

docker-compose.yml

version: '3.7'

services:
  zoo1:
    image: wurstmeister/zookeeper
    restart: unless-stopped
    hostname: zoo1
    ports:
      - "2181:2181"
    container_name: zookeeper

  # kafka version: 1.1.0
  # scala version: 2.12
  kafka1:
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: localhost
      KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181"
      KAFKA_BROKER_ID: 1
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_CREATE_TOPICS: "stream-in:1:1,stream-out:1:1"
    depends_on:
      - zoo1
    container_name: kafka
  • 启动容器
docker-compose up -d
  • 停止容器
docker-compose down
  • 消息发送测试
进入容器
docker exec -it kafka /bin/bash
cd /opt/kafka/bin
创建topic,partition=1,topic为:kafkaTopicDev
kafka-topics.sh --create --zookeeper zoo1:2181 --replication-factor 1 --partitions 1 --topic kafkaTopicDev
查看topic
kafka-topics.sh --zookeeper zoo1:2181 --list
创建一个生产者
kafka-console-producer.sh --broker-list localhost:9092 --topic kafkaTopicDev
创建一个消费者
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic kafkaTopicDev --from-beginning

生产者发送消息,可以看到消费者能实时接收到消息

 

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐