es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo se comunicará Kafka Connect con un Broker habilitado para SASL?

He habilitado la autenticación SASL PLAIN para mi Zookeper y Broker. Parece que está funcionando, solo puedo ver temas y su contenido utilizando las credenciales que establecí. El problema es que, aunque el estado de todos los conectores era “RUNNING”, no había ningún dato llegando a los temas de Kafka. Así que reinicié Kafka Connect y ahora no puedo conectarlo, se produce un error de “conexión rechazada”.

Ya me estaba confundiendo, ¿cómo establece Kafka Connect una conexión con un broker activado por SASL? Necesita autenticarse para poder escribir datos en un tema, ¿verdad? ¿Cómo puedo hacer eso? Por ejemplo, he proporcionado la información básica de autenticación del Registro de Esquemas para Kafka Connect en el archivo “connect-distributed.properties” de esta manera:

schema.registry.basic.auth.user.info=admin:secret
key.converter.basic.auth.user.info=admin:secret
value.converter.basic.auth.user.info=admin:secret
schema.registry.basic.auth.credentials.source=USER_INFO
key.converter.basic.auth.credentials.source=USER_INFO
value.converter.basic.auth.credentials.source=USER_INFO

Creo que necesito hacer algo similar. Pero en los tutoriales no vi nada al respecto.

EDITAR:
El servicio de Connect parece estar funcionando, pero los conectores no pueden obtener los metadatos de los temas. Eso significa que hay un problema con la autenticación en Kafka.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que hay un problema con la autenticación entre Kafka Connect y el broker activado con SASL. Una posible solución es proporcionar la información de autenticación SASL necesaria para Kafka Connect en el archivo ‘connect-distributed.properties’, de manera similar a lo que se hizo para el Registro de Esquemas. Esto incluye configurar las propiedades ‘sasl.mechanism’ y ‘sasl.jaas.config’.

    Por ejemplo, se pueden agregar las siguientes líneas al archivo ‘connect-distributed.properties’:

    producer.sasl.mechanism=PLAIN
    producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="secret";
    
    consumer.sasl.mechanism=PLAIN
    consumer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="secret";
    

    Estas líneas especifican el mecanismo SASL y el módulo de inicio de sesión que se utilizará. Las propiedades ‘producer’ y ‘consumer’ se utilizan para conectarse al broker de Kafka desde Kafka Connect.

    Es importante asegurarse de que las credenciales utilizadas para Kafka Connect coincidan con las configuradas para el broker y ZooKeeper. Además, también se deben verificar los permisos en los temas de Kafka para asegurarse de que Kafka Connect tenga los privilegios necesarios para acceder y escribir en esos temas.

    Si el problema persiste, es posible que se requieran más pruebas de depuración y solución de problemas para determinar la causa raíz del problema.

Comments are closed.