Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

362
Vistas
Configuración de Kafka para aceptar clientes tanto desde dentro como desde fuera de Docker

Estoy ejecutando Apache Kafka dentro de una red docker. El contenedor del corredor de Kafka se llama docker_kafka. Lo que quiero es permitir conexiones de clientes Kafka desde otro contenedor docker, así como desde el host docker. El puerto 9092 de docker_kafka se ha asignado al host docker.

He estado probando las variables de entorno KAFKA_LISTENERS y KAFKA_ADVERTISED_LISTENERS . Por ejemplo, cuando uso KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 , otro cliente docker kafka no puede conectarse a kafka mediante PLAINTEXT://docker_kafka:9092 y viceversa. No permite varias direcciones con el mismo número de puerto y protocolo.

¿Hay alguna manera de permitir ambos tipos de conexiones?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Es posible configurar múltiples oyentes en Kafka. Una opción listener.security.protocol.map permite usar el mismo protocolo de seguridad varias veces en la configuración de los oyentes.

Usando variables de entorno:

1. Defina las asignaciones a tantos alias de oyentes como sea necesario:

 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER1:PLAINTEXT,LISTENER2:PLAINTEXT

2.Luego, configure los oyentes usando los alias. Efectivamente, para que esto funcione, cada oyente necesita escuchar en su propio host+puerto:

 KAFKA_LISTENERS: LISTENER1://0.0.0.0:9092,LISTENER2://0.0.0.0:9093

3. Configure según los oyentes anunciados. Por ejemplo:

 KAFKA_ADVERTISED_LISTENERS: LISTENER1://hostname1:9092,LISTENER2://hostname2:9093

4. Finalmente, para que el clúster funcione, necesita saber qué escucha usar para la comunicación entre los nodos:

 KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER1

Tenga en cuenta que solo pude hacer que esta configuración funcione si el oyente está declarado en la dirección de transmisión ( 0.0.0.0 ). Intenté declarar al oyente para escuchar en un nombre de host fijo, pero esto hizo que mi configuración no funcionara (obtuve errores de connection refused ). Con mucho gusto agradecería un comentario explicando esta parte.

No soy el autor de esta idea (y no me atribuyo el mérito). Encontré esta solución en esta publicación de blog: https://www.kaaproject.org/kafka-docker/

Documentación de configuración de Kafka: https://kafka.apache.org/documentation/#configuration (busque la opción listener.security.protocol.map ).

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda