使用docker-compose安装kafka

准备工作

需要提前安装好docker,以及docker-compose

docker-compose.yml

version: '3'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    container_name: zookeeper
    # always restart
    restart: always
    ports:
      - 2181:2181

  kafka:
    image: wurstmeister/kafka
    container_name: kafka
    ports:
      - 9092:9092
    # host ip
    environment:
      KAFKA_ADVERTISED_HOST_NAME: kafka
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    # always restart
    restart: always
    volumes:
      - ./docker.sock:/var/run/docker.sock

其中./docker.sock:/var/run/docker.sock是一个很重要的参数,使得再容器内可以使用docker ps、docker port等命令,得到的结果和在宿主机上执行的是一样的。

启动服务

前台:docker-compose up
后台:docker-compose up -d

验证

  • 通过容器名称进入到kafka容器中:
docker exec -it kafka /bin/bash
  • 创建一个名称为test的topic:
kafka-topics.sh --create --topic test \
--zookeeper zookeeper:2181 --replication-factor 1 \
--partitions 1
  • 查看刚刚创建的topic信息:
kafka-topics.sh --zookeeper zookeeper:2181 \
--describe --topic test
  • 打开生产者发送若干条消息:
kafka-console-producer.sh --topic=test \
--broker-list kafka:9092
  • 开发消费者接收消息:
kafka-console-consumer.sh \
--bootstrap-server kafka:9092 \
--from-beginning --topic test
  • 如果可以成功接收到消息,则说明kafka已经启动成功了,可以进行本地开发以及调试工作了。
发布了17 篇原创文章 · 获赞 0 · 访问量 319

猜你喜欢

转载自blog.csdn.net/qq_26375325/article/details/105251205