La mayoría de los tutoriales del entorno kafka de instalación de la ventana acoplable en línea usarán el siguiente comando
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="Container new name" especifica un nombre para el contenedor;
-
-d: ejecuta el contenedor en segundo plano y devuelve el ID del contenedor, es decir, inicia el contenedor daemon (ejecutándose en segundo plano);
-
-p: especifica la asignación de puertos, p minúscula
Al iniciar el contenedor kafka, se descubrió que el contenedor no se iniciaba normalmente y se encontró el aviso al ver el registro:
- Ver comando de registro
docker logs kafka
- mensaje de error de registro
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.
Esto se debe a que la variable de entorno ALLOW_PLAINTEXT_LISTENER no se especificó al iniciar el contenedor para permitir el uso de la escucha PLAINTEXT.
Agregue la variable de entorno especificada al iniciar el comando
-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
éxito: