Utilización de Kafka Connect con Event Streams

Kafka Connect es parte del proyecto Apache Kafka y permite conectar sistemas externos a Kafka. Consiste en un tiempo de ejecución que puede ejecutar conectores para copiar datos hacia y desde un clúster. Sus principales características son:

  • Escalabilidad: puede escalar fácilmente de un solo trabajador a muchos.
  • Fiabilidad: gestiona automáticamente los desplazamientos y el ciclo de vida de los conectores.
  • Extensibilidad: La comunidad construyó conectores para los sistemas más populares. IBM® tiene conectores para MQ y Cloud Object Storage.

Puede utilizar Kafka Connect con IBM® Event Streams for IBM Cloud® y puede ejecutar los trabajadores dentro o fuera de IBM Cloud®. IBM tiene una amplia lista de más de 50 conectores soportados por IBM o la comunidad. Encontrará estos conectores en el catálogo de conectores.

Kafka Connect se puede ejecutar tanto en modalidad autónoma como en modalidad distribuida. La modalidad autónoma está pensada para pruebas y para conexiones temporales entre sistemas. La modalidad distribuida resulta más adecuada para uso en producción. La configuración necesaria para utilizar Event Streams con estas dos modalidades es ligeramente diferente.

Configuración de un nodo trabajador autónomo

El nodo trabajador autónomo no utiliza ningún tema interno. En su lugar, utiliza un archivo para almacenar la información de desplazamiento.

Debe proporcionar los servidores de programa de arranque y la información de credenciales de SASL en el archivo de propiedades del nodo trabajador que suministra cuando inicia un nodo trabajador autónomo de Kafka Connect. En el siguiente ejemplo se muestran las propiedades que debe especificar en el archivo de propiedades:

    bootstrap.servers=BOOTSTRAP_ENDPOINTS
    sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
    security.protocol=SASL_SSL
    sasl.mechanism=PLAIN
    ssl.protocol=TLSv1.2
    ssl.enabled.protocols=TLSv1.2
    ssl.endpoint.identification.algorithm=HTTPS

Sustituya BOOTSTRAP_ENDPOINTS, USER y PASSWORD por los valores de su Event Streams Credenciales de servicio ficha en la IBM Cloud consola.

Conector de origen

En el siguiente ejemplo se muestran las propiedades que debe especificar en el archivo de propiedades:

    bootstrap.servers=BOOTSTRAP_ENDPOINTS
    producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
    producer.security.protocol=SASL_SSL
    producer.sasl.mechanism=PLAIN
    producer.ssl.protocol=TLSv1.2
    producer.ssl.enabled.protocols=TLSv1.2
    producer.ssl.endpoint.identification.algorithm=HTTPS

Sustituya BOOTSTRAP_ENDPOINTS, USER y PASSWORD por los valores de su Event Streams Credenciales de servicio ficha en la IBM Cloud consola.

Conector sink

En el siguiente ejemplo se muestran las propiedades que debe especificar en el archivo de propiedades:

    bootstrap.servers=BOOTSTRAP_ENDPOINTS
    consumer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
    consumer.security.protocol=SASL_SSL
    consumer.sasl.mechanism=PLAIN
    consumer.ssl.protocol=TLSv1.2
    consumer.ssl.enabled.protocols=TLSv1.2
    consumer.ssl.endpoint.identification.algorithm=HTTPS

Sustituya BOOTSTRAP_ENDPOINTS, USER y PASSWORD por los valores de su Event Streams Credenciales de servicio ficha en la IBM Cloud consola.

Configuración de un nodo trabajador distribuido

Debe proporcionar los servidores de programa de arranque y la información de credenciales de SASL en el archivo de propiedades que suministra cuando inicia los nodos trabajadores distribuidos de Kafka Connect. En el siguiente ejemplo se muestran las propiedades que debe especificar en el archivo de propiedades:

    bootstrap.servers=BOOTSTRAP_ENDPOINTS
    sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
    security.protocol=SASL_SSL
    sasl.mechanism=PLAIN
    ssl.protocol=TLSv1.2
    ssl.enabled.protocols=TLSv1.2
    ssl.endpoint.identification.algorithm=HTTPS

Sustituya BOOTSTRAP_ENDPOINTS, USER y PASSWORD por los valores de su Event Streams Credenciales de servicio ficha en la IBM Cloud consola.

Si desea utilizar un conector de origen, también debe especificar la configuración de SSL y SASL correspondiente al productor del siguiente modo:

    producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
    producer.security.protocol=SASL_SSL
    producer.sasl.mechanism=PLAIN
    producer.ssl.protocol=TLSv1.2
    producer.ssl.enabled.protocols=TLSv1.2
    producer.ssl.endpoint.identification.algorithm=HTTPS

Si desea utilizar un conector sink, también debe especificar la configuración de SSL y SASL correspondiente al consumidor del siguiente modo:

    consumer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="USER" password="PASSWORD";
    consumer.security.protocol=SASL_SSL
    consumer.sasl.mechanism=PLAIN
    consumer.ssl.protocol=TLSv1.2
    consumer.ssl.enabled.protocols=TLSv1.2
    consumer.ssl.endpoint.identification.algorithm=HTTPS

Además Kafka Connect en modalidad distribuida utiliza tres temas internamente. Estos temas se crean automáticamente cuando se arranca el nodo trabajador, si utiliza Kafka Connect en Apache Kafka versión 0.11 o posterior. Los nombres de los temas se especifican como parámetros de configuración. Asegúrese de que los valores coincidan para todos los nodos trabajadores con el valor de configuración group.id.

Temas en Kafka Connect
Configuración Descripción
offset.storage.topic Tema de desplazamientos de conector
offset.storage.partitions Número de particiones para tema de desplazamientos de conector (valor predeterminado 25)
config.storage.topic Tema de configuración de conector
status.storage.topic Tema de estado de conector
status.storage.partitions Número de particiones para tema de estado de conector (valor predeterminado 5)

Por ejemplo, puede utilizar los siguientes pares clave-valor en su archivo de propiedades:

    offset.storage.topic=connect-offsets
    config.storage.topic=connect-configs
    status.storage.topic=connect-status

Considere la posibilidad de reducir el número de particiones si no utiliza mucho Kafka Connect.

Para obtener más información sobre Kafka Connect, consulte Visión general deKafka Connect.