天天看点

搭建 Kafka 集群

使用 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' &gt;&gt; /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 是什么