![](/img/trans.png)
[英]Docker pypspark cluster container not receiving kafka streaming from the host?
[英]KAFKA with docker : cluster offline but container are up according "to docker ps -a"
我是 kafka 的新手,我正在嘗試做一些簡單的事情。
我用 docker 運行 kafka。這是我的 docker-compose:
version: "3.2"
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181"
kafka:
image: wurstmeister/kafka
depends_on:
- zookeeper
ports:
- "9092-9094:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
kafkaui:
image: provectuslabs/kafka-ui
depends_on:
- kafka
- zookeeper
ports:
- "8080:8080"
environment:
KAFKA_CLUSTERS_0_NAME: local
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: "kafka:9092"
如您所見,我將 My IP 作為KAFKA_ADVERTISED_HOST_NAMEE的 127.0.0.1
然后我這樣做: docker-compose up -d
我檢查with docker ps -a
我看到這個截圖在這里輸入圖像描述
然后我增加經紀人的數量: docker-compose up --scale kafka=3 -d
我檢查docker ps -a
我看到這個截圖:在此處輸入圖像描述
在我的瀏覽器上,我 go 到: http://127.0.0.1:8080我看到我有 1 個集群離線,看截圖:在此處輸入圖像描述
為什么??? 我有一台舊電腦:linux mint 21、4 Gb RAM、intel Core i3
我需要更多內存嗎?
內存不是問題
它處於離線狀態,因為它無法連接。 KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
+ ports: 9092:9092
意味着它只接受來自外部主機的連接,而不是其他容器。 您將無法使用該變量集擴展容器,因為它必須是kafka
,但是當您擴展到一個代理之外時,它也不能硬編碼為kafka
(換句話說,每個容器都需要一個唯一的主機名)。 此頁面包含更多詳細信息。 但是,一種解決方案是改用KAFKA_LISTENERS: PLAINTEXT://:9092
,並從 Compose 中刪除ports
,除非您確實需要 Docker 之外的連接。
無論如何,在同一台主機上運行多個代理並沒有真正的好處。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.