Apache Kafka
Version vom 3. Januar 2020, 18:04 Uhr von Jochen (Diskussion | Beiträge)
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. Da die Bitnami Docker Distribution keine hosts Einträge besitzt, wurde der Hostname in der Umgebungsvariablen KAFKA_LISTENERS leer gelassen.
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://: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