使用 Docker 搭建 Kafka

使用 Docker 搭建 Kafka
1. 组件
Docker: 要想使用 Docker 来启动 kafka,开发环境提前装好 Docker 是必须的,我一般在 Ubuntu 虚拟机上进行开发测试
Docker Compose: kafka 依赖 zookeeper,使用 docker-compose 来管理容器依赖
2.Docker 镜像
docker image : wurstmeister/kafka
docker-compose yml : docker-compose.yml
3. 安装
创建 docker-compose yml 文件, 复制官方提供的文件内容

version: ‘2.1’
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- “2181”
kafka:
image: wurstmeister/kafka
ports:
- “9092”
environment:
KAFKA_ADVERTISED_HOST_NAME: 192.168.5.139
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
!!! KAFKA_ADVERTISED_HOST_NAME : 填写 DockerNAT 的 IP 地址

  1. 构建 docker-compose
    docker-compose up -d
  2. 启动 kafka 多节点 [可选]
    docker-compose scale kafka=3
  3. 进入容器
    docker exec -it docker-compose_kafka_1 /bin/bash
    7.kafka 操作

创建 topic test

$KAFKA_HOME/bin/kafka-topics.sh –create –topic test –zookeeper docker-compose_zookeeper_1:2181 –replication-factor 1 –partitions 1

发送消息

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

接受消息

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