Apache Kafka
Version vom 3. Januar 2020, 18:15 Uhr von Jochen (Diskussion | Beiträge) (→Bitnami Distribution (bitnami/kafka))
Docker
Bitnami Distribution (bitnami/kafka)
Auf Docker Hub ist eine Distribution von Bitnami hier zu finden. Das dort vorgeschlagene bzw. verlinkte Docker Compose File docker-compose.yml benötigt jedoch Anpassungen, damit ein Kafka Client auf dem Docker Host bzw. einem anderen Host verwendet werden kann. Eine detaillierte Beschreibung kann dem Artikel Kafka Listeners - Explained entnommen werden.
Ein Hinweis zum Hostname in der Umgebungsvariablen KAFKA_LISTENERS: Hier kann 0.0.0.0 zum Binden aller Interfaces angegeben werden oder kein Hostname (siehe zweite Konfiguration unten) zum Binden des Standard-Interface. Siehe auch: listener Setting der Apache Kafka Broker Konfiguration.
version: '3'
services:
zookeeper:
image: 'bitnami/zookeeper:3'
ports:
- '2181:2181'
volumes:
- 'zookeeper_data:/bitnami'
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
kafka:
image: 'bitnami/kafka:2'
ports:
- '9092:9092'
volumes:
- 'kafka_data:/bitnami'
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_LISTENERS=MY_LISTENER://0.0.0.0:9092
- KAFKA_ADVERTISED_LISTENERS=MY_LISTENER://localhost:9092
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=MY_LISTENER:PLAINTEXT
- KAFKA_INTER_BROKER_LISTENER_NAME=MY_LISTENER
depends_on:
- zookeeper
volumes:
zookeeper_data:
driver: local
kafka_data:
driver: local
Ein vereinfachtes Docker Compose File sieht wie folgt aus.
version: '3'
services:
zookeeper:
image: 'bitnami/zookeeper:3'
ports:
- '2181:2181'
volumes:
- 'zookeeper_data:/bitnami'
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
kafka:
image: 'bitnami/kafka:2'
ports:
- '9092:9092'
volumes:
- 'kafka_data:/bitnami'
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_LISTENERS=PLAINTEXT://:9092
- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092
depends_on:
- zookeeper
volumes:
zookeeper_data:
driver: local
kafka_data:
driver: local