使用Docker快速搭建Zookeeper和kafka集群
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,集群搭建镜像选择Zookeeper和Kafka集群分别运行在不同的容器中zookeeper官方镜像,版本3.4kafka采用wurstmeister/kafka镜像集群规划hostnameIp add
千家信息网最后更新 2025年12月03日使用Docker快速搭建Zookeeper和kafka集群
集群搭建
镜像选择
Zookeeper和Kafka集群分别运行在不同的容器中
zookeeper官方镜像,版本3.4
kafka采用wurstmeister/kafka镜像
集群规划
| hostname | Ip addr | port | listener |
|---|---|---|---|
| zoo1 | 172.19.0.11 | 2184:2181 | |
| zoo2 | 172.19.0.12 | 2185:2181 | |
| zoo3 | 172.19.0.13 | 2186:2181 | |
| kafka1 | 172.19.0.14 | 9092:9092 | kafka1 |
| kafka2 | 172.19.0.15 | 9093:9093 | kafka2 |
| Kafka3 | 172.19.0.16 | 9094:9094 | Kafka3 |
| 宿主机root OSX | 192.168.21.139【DHCP获取,会变动】 |
实现目标
kafka集群在docker网络中可用,和zookeeper处于同一网络
宿主机可以访问zookeeper集群和kafka的broker list
docker重启时集群自动重启
集群的数据文件映射到宿主机器目录中
使用yml文件和$ docker-compose up -d命令创建或重建集群
$ docker-compose up -dzk集群的docker-compose.yml
version: '3.4'services: zoo1: image: zookeeper restart: always hostname: zoo1 container_name: zoo1 ports: - 2184:2181 volumes: - "/Users/shaozhipeng/Development/volume/zkcluster/zoo1/data:/data" - "/Users/shaozhipeng/Development/volume/zkcluster/zoo1/datalog:/datalog" environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 networks: br17219: ipv4_address: 172.19.0.11 zoo2: image: zookeeper restart: always hostname: zoo2 container_name: zoo2 ports: - 2185:2181 volumes: - "/Users/shaozhipeng/Development/volume/zkcluster/zoo2/data:/data" - "/Users/shaozhipeng/Development/volume/zkcluster/zoo2/datalog:/datalog" environment: ZOO_MY_ID: 2 ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zoo3:2888:3888 networks: br17219: ipv4_address: 172.19.0.12 zoo3: image: zookeeper restart: always hostname: zoo3 container_name: zoo3 ports: - 2186:2181 volumes: - "/Users/shaozhipeng/Development/volume/zkcluster/zoo3/data:/data" - "/Users/shaozhipeng/Development/volume/zkcluster/zoo3/datalog:/datalog" environment: ZOO_MY_ID: 3 ZOO_SERVERS: server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=0.0.0.0:2888:3888 networks: br17219: ipv4_address: 172.19.0.13networks: br17219: external: name: br17219kafka集群的docker-compose.yml
kfkluster少拼了个c...
version: '2'services: kafka1: image: wurstmeister/kafka restart: always hostname: kafka1 container_name: kafka1 ports: - 9092:9092 environment: KAFKA_ADVERTISED_HOST_NAME: kafka1 KAFKA_ADVERTISED_PORT: 9092 KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181 volumes: - /Users/shaozhipeng/Development/volume/kfkluster/kafka1/logs:/kafka external_links: - zoo1 - zoo2 - zoo3 networks: br17219: ipv4_address: 172.19.0.14 kafka2: image: wurstmeister/kafka restart: always hostname: kafka2 container_name: kafka2 ports: - 9093:9093 environment: KAFKA_ADVERTISED_HOST_NAME: kafka2 KAFKA_ADVERTISED_PORT: 9093 KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181 volumes: - /Users/shaozhipeng/Development/volume/kfkluster/kafka2/logs:/kafka external_links: - zoo1 - zoo2 - zoo3 networks: br17219: ipv4_address: 172.19.0.15 kafka3: image: wurstmeister/kafka restart: always hostname: kafka3 container_name: kafka3 ports: - 9094:9094 environment: KAFKA_ADVERTISED_HOST_NAME: kafka3 KAFKA_ADVERTISED_PORT: 9094 KAFKA_ZOOKEEPER_CONNECT: zoo1:2181,zoo2:2181,zoo3:2181 volumes: - /Users/shaozhipeng/Development/volume/kfkluster/kafka3/logs:/kafka external_links: - zoo1 - zoo2 - zoo3 networks: br17219: ipv4_address: 172.19.0.16networks: br17219: external: name: br17219结果查看和测试
宿主机命令行创建topic
$ pwd/Users/shaozhipeng/Development/kafka_2.11-2.0.0/bin$ ./kafka-topics.sh --create --zookeeper localhost:2184,localhost:2185,localhost:2186 --replication-factor 1 --partitions 1 --topic test1Kafka Tool查看

docker ps查看正在运行的容器
查看宿主机IP地址,并设置Host
这样宿主机就可以访问kafka集群了

原文地址
集群
宿主
宿主机
镜像
命令
地址
容器
文件
网络
运行
不同
原文
官方
数据
机器
正在
版本
目录
目标
结果
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
全球数据库市场
华信网络安全工程师笔试题
区块链信息网络安全专业
海口直播软件开发多少钱
网络安全技能大赛活动策划书
网络安全风险指南
饥荒云服务器管理员最多几人
数据库时间字段默认值为系统日期
我们为什么要网络安全
网络安全教育引导官兵什么
王思聪搭建服务器
杭州软件开发平台公司哪个好
分析软件开发的行业
微信开发免费服务器
三星s5连接不上服务器
ftp服务器上的文件会有备份吗
党支部网络安全法宣传
steam地平线4连接不到服务器
服务器换上老硬盘
办公室网络安全标语
腾讯上海网络安全
mysql服务器安全设置
软件开发新员工转正答辩
传奇链接服务器失败
vb调取表格数据库
花雨庭服务器地址
北京读我网络技术有限公司官网
上海专业软件开发价格服务标准
移动硬盘当做服务器
execl服务器