La plupart des didacticiels en ligne sur l'environnement kafka d'installation de docker utiliseront la commande suivante
docker run -d --name kafka -p 9092:9092 \
-e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.xxx.xxx.xxx:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.xxx.xxx.xxx:9092 -e \
KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t bitnami/kafka:2.7.0
-
--name="Nouveau nom du conteneur" spécifie un nom pour le conteneur ;
-
-d : exécuter le conteneur en arrière-plan et renvoyer l'ID du conteneur, c'est-à-dire démarrer le conteneur du démon (s'exécutant en arrière-plan) ;
-
-p : spécifiez le mappage de port, p minuscule
Lors du démarrage du conteneur kafka, il a été constaté que le conteneur ne démarrait pas normalement et l'invite a été trouvée en consultant le journal :
- Commande Afficher le journal
docker logs kafka
- journaliser le message d'erreur
INFO ==> ** Starting Kafka setup **
15:04:41.47 ERROR ==> The KAFKA_CFG_LISTENERS environment variable does not configure a secure listener. Set the environment variable ALLOW_PLAINTEXT_LISTENER=yes to allow the container to be started with a plaintext listener. This is only recommended for development.
15:04:41.48 ERROR ==> The KAFKA_ZOOKEEPER_PROTOCOL environment variable does not configure a secure protocol. Set the environment variable ALLOW_PLAINTEXT_LISTENER=yes to allow the container to be started with a plaintext listener. This is only recommended for development.
En effet, la variable d'environnement ALLOW_PLAINTEXT_LISTENER n'a pas été spécifiée lors du démarrage du conteneur pour permettre l'utilisation de l'écouteur PLAINTEXT.
Ajouter la variable d'environnement spécifiée lors du démarrage de la commande
-e ALLOW_PLAINTEXT_LISTENER=yes
docker run -d --name kafka -p 9092:9092 \
-e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.xxx.xxx.xxx:2181 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.xxx.xxx.xxx:9092 -e \
KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t bitnami/kafka:2.7.0
succès: