Docker快速搭建Zookeeper和kafka集群
使用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命令创建或重建集群
1
|
$ docker-compose up -d |
zk集群的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.13
- networks:
- br17219:
- external:
- name: br17219

kafka集群的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.16
- networks:
- 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 test1
Kafka Tool查看
docker ps查看正在运行的容器
查看宿主机IP地址,并设置Host
这样宿主机就可以访问kafka集群了
Docker快速搭建Zookeeper和kafka集群的更多相关文章
- 使用Docker快速搭建Zookeeper和kafka集群
使用Docker快速搭建Zookeeper和kafka集群 镜像选择 Zookeeper和Kafka集群分别运行在不同的容器中zookeeper官方镜像,版本3.4kafka采用wurstmeiste ...
- 搭建zookeeper和Kafka集群
搭建zookeeper和Kafka集群: 本实验拥有3个节点,均为CentOS 7系统,分别对应IP为10.211.55.11.10.211.55.13.10.211.55.14,且均有相同用户名 ( ...
- 基于Docker快速搭建多节点Hadoop集群--已验证
Docker最核心的特性之一,就是能够将任何应用包括Hadoop打包到Docker镜像中.这篇教程介绍了利用Docker在单机上快速搭建多节点 Hadoop集群的详细步骤.作者在发现目前的Hadoop ...
- CentOS 7搭建Zookeeper和Kafka集群
环境 CentOS 7.4 Zookeeper-3.6.1 Kafka_2.13-2.4.1 Kafka-manager-2.0.0.2 本次安装的软件全部在 /home/javateam 目录下. ...
- zookeeper及kafka集群搭建
zookeeper及kafka集群搭建 1.有关zookeeper的介绍可参考:http://www.cnblogs.com/wuxl360/p/5817471.html 2.zookeeper安装 ...
- Kafka1 利用虚拟机搭建自己的Kafka集群
前言: 上周末自己学习了一下Kafka,参考网上的文章,学习过程中还是比较顺利的,遇到的一些问题最终也都解决了,现在将学习的过程记录与此,供以后自己查阅,如果能帮助到其他人,自然是更好的. ...
- Zookeeper、Kafka集群与Filebeat+Kafka+ELK架构
Zookeeper.Kafka集群与Filebeat+Kafka+ELK架构 目录 Zookeeper.Kafka集群与Filebeat+Kafka+ELK架构 一.Zookeeper 1. Zook ...
- zookeeper与Kafka集群搭建及python代码测试
Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...
- 大数据 -- zookeeper和kafka集群环境搭建
一 运行环境 从阿里云申请三台云服务器,这里我使用了两个不同的阿里云账号去申请云服务器.我们配置三台主机名分别为zy1,zy2,zy3. 我们通过阿里云可以获取主机的公网ip地址,如下: 通过secu ...
随机推荐
- netty框架概述
概述 最近在学习netty的相关知识,也在看netty的源码,光看不练假把式,所以也正好利用自己学习的机会写几篇netty的分析文章,主要还是一些源码解析的文章,一方面有输出会促使自己在看源码,学习原 ...
- Python常用模块大全(转)
os模块:os.remove() 删除文件 os.unlink() 删除文件 os.rename() 重命名文件 os.listdir() 列出指定目录下所有文件 os.chdir() 改变当前工作目 ...
- sql server 大数据, 统计分组查询,数据量比较大计算每秒钟执行数据执行次数
-- 数据量比较大的情况,统计十分钟内每秒钟执行次数 ); -- 开始时间 ); -- 结束时间 declare @num int; -- 结束时间 set @begintime = '2019-08 ...
- Alpha4
一.站立式会议照片 二.工作进展 (1) 昨天已完成的工作 a. 实现用户登录时获取用户信息功能 b. 实现个人目标列表,允许用户在个人目标界面浏览已设置的目标 c. 继续实现目标广场列表 (2)今天 ...
- ORACLE百分比分析函数RATIO_TO_REPORT() OVER()
有时候不用的指标的绝对值不能比,但是转转为百分比的形式就容易看出波动了,是数据分析的好用的一个分析函数 20:00:24 SYS@orcl> conn scott/tiger; Connecte ...
- mysql查询表大小
工作中常用命令参考,收集如下: 查询表大小:select table_name, data_length from information_schema.tables where table_sche ...
- AI-图像基础知识-02
目录 图像坐标系 图像数字化 图像坐标系 在前面的数据标注文章中讲述如何进行标注,而标注后会保留4个坐标点,那么这些坐标点如何表示在图片中的位置?要表示一个点或图形的位置,就需要涉及到坐标系的 ...
- nginx $remote_addr 详解
1. 参考:https://blog.51cto.com/cuidehua/1827244?source=drt
- JfreeChart 乱码问题处理
在前面之间加上下面这段代码即可. //创建主题样式 StandardChartTheme standardChartTheme=new StandardChartTheme("CN" ...
- curl-7.21.2
curl 源码编译 自己定义的库编译 https://blog.csdn.net/initiallht/article/details/92655025 静态库,debug,x86nmake /f M ...