docker zookeeper(Mac 使用 docker 搭建 kafka 集群 + Zookeeper + kafka-manager)

本文目录
- Mac 使用 docker 搭建 kafka 集群 + Zookeeper + kafka-manager
- Golang项目部署3,容器部署
- dockerrun-i-tpython退出后
- docker启动kafka
Mac 使用 docker 搭建 kafka 集群 + Zookeeper + kafka-manager
这里我们用最简单的方式创建一个独立的Zookeeper节点,如果要考虑zookeeper的高可用,可以将其做成一个集群,最好是能有多台机器。
默认的,容器内配置文件在,/conf/zoo.cfg,数据和日志目录默认在/data 和 /datalog,需要的话可以将上述目录映射到宿主机的可靠文件目录下。
使用docker命令可快速在同一台机器搭建多个kafka,只需要改变brokerId和端口
中间两个参数的 192.168.0.102 改为 宿主机器 的IP地址,如果不这么设置,可能会导致在别的机器上访问不到 kafka。
或者可以通过 kafka-manager 创建
在kafka容器中的 opt/kafka_2.12-1.1.0/ 目录下输入
显示每个分区的Leader机器为broker0,在broker0和1上具有备份,Isr代表存活的备份机器中存活的。
当停掉kafka1后,
再查看topic状态,输出结果:
kafka-manager 有图形化UI,可以方便的监控集群状态,调整队列配置
容器启动以后访问主机的9000端口,0.0.0:9000
首次进入需要添加一个集群标识,如下图所示
配置好以后,通过Zookeeper该管理节点可以读取到整个Kafka集群的信息,并且我们可以通过JMX直接看到集群的健康状态
也可以看到主题的读写速度,偏移量等信息,如下图所示:
Brokers ,Partitions,Replicas 都能看到
以及 group:
***隐藏网址***
***隐藏网址***
原文地址: mac 使用 docker搭建 kafka集群 + Zookeeper + kafka-manager
Golang项目部署3,容器部署
容器部署即使用 docker 化部署 golang 应用程序,这是在云服务时代最流行的部署方式,也是最推荐的部署方式。
跨平台交叉编译是 golang 的特点之一,可以非常方便地编译出我们需要的目标服务器平台的版本,而且是静态编译,非常容易地解决了运行依赖问题。
使用以下指令可以静态编译 Linux 平台 amd64 架构的可执行文件:
生成的 main 便是我们静态编译的,可部署于 Linux amd64 上的可执行文件。
我们需要将该可执行文件 main 编译生成 docker 镜像,以便于分发及部署。 Golang 的运行环境推荐使用 alpine 基础系统镜像,编译出的容器镜像约为 20MB 左右。
一个参考的 Dockerfile 文件如下:
***隐藏网址***
随后使用 " docker build -t main . " 指令编译生成名为 main 的 docker 镜像。
需要注意的是,在某些项目的架构设计中, 静态文件 和 配置文件 可能不会随着镜像进行编译发布,而是分开进行管理和发布。
例如,使用 MVVM 模式的项目中(例如使用 vue 框架),往往是前后端非常独立的,因此在镜像中往往并不会包含 public 目录。而使用了 配置管理中心 (例如使用 consul / etcd / zookeeper )的项目中,也往往并不需要 config 目录。
因此对于以上示例的 Dockerfile 的使用,仅作参考,根据实际情况请进行必要的调整。
使用以下指令可直接运行刚才编译成的镜像:
***隐藏网址***
在企业级生产环境中, docker 容器往往需要结合 kubernetes 或者 docker swarm 容器编排工具一起使用。
容器编排涉及到的内容比较多,感兴趣的同学可以参考以下资料:
dockerrun-i-tpython退出后
dockerrunitpython退出后?
答案如下:退出后会出现系统卡顿!操作方法是这样,首先第一步打开设置按钮,接着操作账号管理在页面点击账号安全中心进入。最后获取指示即可!
docker启动kafka
记录下自己的操作,避免下次用的时候又去踩坑
docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
docker exec -it zookeeper /bin/sh
这时查看zk节点只有一个zookeeper
docker退出当前容器 快捷键:
第一次尝试启动容器是用的第一种方式,后面发现在容器外面连接不了kafka,可能是因为生成的kafka地址是容器内地址。所以换了第二种方式启动。
{"datas":,"ver":"1.0"}
发现和图3相比 创建了很多关于kafka的节点
我们可以看到我们创建的主题及其信息
kafka在启动时连接zookeeper失败,报错信息如下
上网查了之后,发现是本机ip变化导致的...这就很骚。这里我修改一下KAFKA_ZOOKEEPER_CONNECT的ip就可以了。
贴一下别人的解决方案吧:
***隐藏网址***
***隐藏网址***

更多文章:
apache服务器的配置(在apache的配置文件中,什么用于加载文件)
2026年10月13日 00:10
docker zookeeper(Mac 使用 docker 搭建 kafka 集群 + Zookeeper + kafka-manager)
2026年10月12日 23:40
linuxfind目录名(linux find 怎样取得文件名呢)
2026年10月12日 21:00
cdata xml作用(matlab在画图时,Cdata代表什么)
2026年10月12日 19:30
labview做api服务器(Labview如何调用Windows USB API实现读写USB条码阅读器)
2026年10月12日 18:40
计算机编程基础课程标准(课程目标的三个维度 [解析“算法与程序设计”的课程目标])
2026年10月12日 17:40
traceview工具(android eclipse如何查看耗时)
2026年10月12日 15:20
随机数字1 15(1到15个整数 随机抽7次 每个数被抽到的概率是多少(可重复))
2026年10月12日 13:50
java游戏平台官网(诺基亚QD怎样安装SIS和JAVA格式的游戏请高手详答谢谢)
2026年10月12日 13:40




