docker搭建Kafka

目录

1.docker拉取zookeeper、Kafka镜像

2.启动zookeeper、Kafka容器

3.进入Kafka容器,创建topic

4.在Kafka容器内,启动消费者和生产者进行通讯


1.docker拉取zookeeper、Kafka镜像

  • docker拉取Kafka镜像
  • docker pull wurstmeister/kafka
  • docker拉取zookeeper镜像
  • docker pull zookeeper

     

2.启动zookeeper、Kafka容器

  • 分别启用zookeeper、Kafka镜像
  • docker run -itd --name zookeeper -p 2181:2181 zookeeper
    docker run -itd --name kafka --p 9092:9092 --link zookeeper 
    --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 
    --env KAFKA_ADVERTISED_HOST_NAME=localhost 
    --env KAFKA_ADVERTISED_PORT=9092 
    --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest
    

    如果此处Kafka启动参数设置有问题,会产生很多问题。例如KAFKA_ADVERTISED_HOST_NAME设置有问题就会有如下问题

  • 3 partitions have leader brokers without a matching listener

     

  •  

    启动后可用以下命令查看

     
    docker ps

     

3.进入Kafka容器,创建topic

  • 进入Kafka容器
  • docker exec -it containerID bin/bash
  •  创建topic
  • bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 3 --topic test1
  •  查看已有topic
  • bin/kafka-topics.sh --list --zookeeper zookeeper:2181 

 

 

 

4.在Kafka容器内,启动消费者和生产者进行通讯

  • 启动消费者
  • bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test1
  • 启动生产者
  • bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test1

     

 生产者发送消息,消费方即可获取得到。

 

 

你可能感兴趣的:(Kafka,Kafka,docker,docker部署kafka)