最近搭建 kafka 集群环境以便于收集应用程序日志并进行个性化的处理,因此学习了 kafka 生产者和消费者 python 程序的实现。这篇文章当是 kafka 的学习笔记。
一、搭建 kafka 集群
为方便测试,我们在 MacOS 单机上搭建具有三个 kafka 节点的集群。如果在生产上部署 kafka ,请在不同的物理机上部署 kafka 集群。
1. 下载 kafka 镜像
我们使用 wurstmeister/kafka 镜像来部署 kafka,由于 kafka 依赖于 zookeeper ,因此,我们需要下载 zookeeper 和 kafka 两个镜像。
docker pull wurstmeister/kafka
docker pull wurstmeister/zookeeper
2. 编写 docker-compopse.yml
我们搭建的 kafka 集群包括一个 zooker 节点和三个 kakfa 节点。
使用 ifconfig
命令获取本机的 ip 为 192.168.0.104
,完整的 docker-compose.yml 文件如下。有关 docker-compose 的使用,可以参考 《Docker Compose 入门教程》。
version: '3'
services:
zookeeper:
image: docker.io/wurstmeister/zookeeper
container_name: zookeeper
restart: always
ports:
- "2181:2181"
kafka1:
image: docker.io/wurstmeister/kafka
container_name: kafka1
restart: always
ports:
- "9095:9092"
depends_on: