docker部署kafka

本文详细介绍如何使用Docker和docker-compose搭建Kafka集群,包括镜像拉取、配置文件编写、服务启动与测试,以及Kafka Manager界面的部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

镜像拉取

docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka

定义docker-compose.yml

version: '3'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    ports:
      - "2181:2181"
  kafka:
    image: wurstmeister/kafka:2.12-2.0.1
    depends_on: [ zookeeper ]
    ports:
      - "9092:9092"
    environment:
      KAFKA_ADVERTISED_HOST_NAME: 192.168.171.45
      # KAFKA_CREATE_TOPICS: "test:1:1"
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:
      - /home/iie4bu/ddy/kafka/docker.sock:/var/run/docker.sock

[注] 192.168.171.45是本机(vm)地址。

在docker-compose.yml文件目录进行服务打包

(base) iie4bu@swarm-manager:~/ddy/kafka$ docker-compose build
zookeeper uses an image, skipping
kafka uses an image, skipping

启动服务

(base) iie4bu@swarm-manager:~/ddy/kafka$ docker-compose up -d
Starting kafka_zookeeper_1 ... done
Creating kafka_kafka_1     ... done

在这里插入图片描述

启动测试

记住启动的启动名称,kafka为 kafka_kafka_1 ,zookeeper 为 kafka_zookeeper_1 .
如果docker-compose正常启动,此时docker ps会看到以上两个容器。进入kafka容器。

docker exec -it kafka_kafka_1 bash

创建一个topic:

$KAFKA_HOME/bin/kafka-topics.sh --create --topic test --partitions 4 --zookeeper kafka_zookeeper_1:2181 --replication-factor 1

注意–zookeeper后面的参数为,容器的name
查看刚刚创建的topic:

$KAFKA_HOME/bin/kafka-topics.sh --zookeeper kafka_zookeeper_1:2181 --describe --topic test

发布信息:

$KAFKA_HOME/bin/kafka-console-producer.sh --topic=test --broker-list kafka_kafka_1:9092

接收消息

$KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server kafka_kafka_1:9092 --from-beginning --topic test

kafka集群管理界面

docker run -itd --name=kafka-manager -p 9001:9000 -e ZK_HOSTS=“192.168.171.45:2181” sheepkiller/kafka-manager

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值