天天看點

搭建 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 是什麼