使用 Docker Compose 搭建 Kafka 集群。
创建 Docker Compose 配置文件
创建配置文件(目录随意)并编辑:
<code>vim /opt/kafka/docker-compose.yml</code>
输入内容:
172.16.0.1 是我们给 WSL 配置的固定 IP。
启动集群
创建 3 个 Kafka 的集群:
<code>docker-compose -f docker-compose.yml up --scale kafka=3 -d</code>
Kafka 启动失败
使用命令 <code>docker ps -a</code> 查看容器状态,发现只有 Zookeeper 启动成功,Kafka 全部失败。
使用命令 <code>docker logs --tail 100 kafka_kafka_1</code> 查看启动日志发现报错:
经查询发现是由于 Ubuntu 域名解析出错,导致 Kafka 找不到 Zookeeper 而启动失败,执行以下命令:
<code>echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf</code>
重新启动集群即可。
参考
如果你不会用 kafka-docker,看这里
Why does the host command not resolve entries in /etc/hosts?
How to replace mdns4_minimal with BIND?
mdns4_minimal 是什么