docker-compose搭建kafka集群
mkdir kafka
cd kafka
编写docker-compose.yml
version: '3'
services:
zookeeper:
image: 'bitnami/zookeeper:3.7'
ports:
- '2190:2181'
environment:
- ZOO_ENABLE_AUTH=yes
- ZOO_SERVER_USERS=zoo
- ZOO_SERVER_PASSWORDS=zoo
- ZOO_CLIENT_USER=zoo
- ZOO_CLIENT_PASSWORD=zoo
kafka1:
depends_on:
- zookeeper
image: 'bitnami/kafka:2.6.0'
ports:
- '19092:9093'
environment:
- KAFKA_BROKER_ID=1
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:PLAINTEXT,CLIENT:PLAINTEXT
- KAFKA_CFG_LISTENERS=INTERNAL://kafka1:9092,CLIENT://kafka1:9093
- KAFKA_CFG_ADVERTISED_LISTENERS=INTERNAL://kafka1:9092,CLIENT://10.0.2.15:19092
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=INTERNAL
- KAFKA_CLIENT_USER=kafka
- KAFKA_CLIENT_PASSWORD=kafka
- ALLOW_PLAINTEXT_LISTENER=yes
# - KAFKA_INTER_BROKER_USER=kafka
# - KAFKA_INTER_BROKER_PASSWORD=kafka
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- KAFKA_ZOOKEEPER_PROTOCOL=SASL
- KAFKA_ZOOKEEPER_USER=zoo
- KAFKA_ZOOKEEPER_PASSWORD=zoo
kafka2:
depends_on:
- zookeeper
image: 'bitnami/kafka:2.6.0'
ports:
- '19093:9093'
environment:
- KAFKA_BROKER_ID=2
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:PLAINTEXT,CLIENT:PLAINTEXT
- KAFKA_CFG_LISTENERS=INTERNAL://kafka2:9092,CLIENT://kafka2:9093
- KAFKA_CFG_ADVERTISED_LISTENERS=INTERNAL://kafka2:9092,CLIENT://10.0.2.15:19093
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=INTERNAL
- KAFKA_CLIENT_USER=kafka
- KAFKA_CLIENT_PASSWORD=kafka
- ALLOW_PLAINTEXT_LISTENER=yes
# - KAFKA_INTER_BROKER_USER=kafka
# - KAFKA_INTER_BROKER_PASSWORD=kafka
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- KAFKA_ZOOKEEPER_PROTOCOL=SASL
- KAFKA_ZOOKEEPER_USER=zoo
- KAFKA_ZOOKEEPER_PASSWORD=zoo
kafka3:
depends_on:
- zookeeper
image: 'bitnami/kafka:2.6.0'
ports:
- '19094:9093'
environment:
- KAFKA_BROKER_ID=3
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:PLAINTEXT,CLIENT:PLAINTEXT
- KAFKA_CFG_LISTENERS=INTERNAL://kafka3:9092,CLIENT://kafka3:9093
- KAFKA_CFG_ADVERTISED_LISTENERS=INTERNAL://kafka3:9092,CLIENT://10.0.2.15:19094
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=INTERNAL
- KAFKA_CLIENT_USER=kafka
- KAFKA_CLIENT_PASSWORD=kafka
- ALLOW_PLAINTEXT_LISTENER=yes
# - KAFKA_INTER_BROKER_USER=kafka
# - KAFKA_INTER_BROKER_PASSWORD=kafka
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- KAFKA_ZOOKEEPER_PROTOCOL=SASL
- KAFKA_ZOOKEEPER_USER=zoo
- KAFKA_ZOOKEEPER_PASSWORD=zoo
启动
COMPOSE_PROJECT_NAME=kafka_cluster docker-compose up
# 后台启动
COMPOSE_PROJECT_NAME=kafka_cluster docker-compose up -d
# 查看状态
COMPOSE_PROJECT_NAME=kafka_cluster docker-compose ps
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2020-04-22 Idea报错<statement> or DELIMIITER expected, got 'id'
2020-04-22 Idea中mapper的xml文件报错 unable to resolve table
2020-04-22 Idea连接mysql 报错Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.
2020-04-22 微服务工程多环境切换