IBM Cloud Docs
Utilisation de Kafka Connect avec Event Streams

Utilisation de Kafka Connect avec Event Streams

Kafka Connect, qui fait partie du projet Apache Kafka, permet de connecter des systèmes externes à Kafka. Il s'agit d'un moteur d'exécution qui peut exécuter des connecteurs pour copier des données vers et à partir d'un cluster. Ses principales caractéristiques sont :

  • Evolutivité : il peut facilement s'étendre d'un seul travailleur à plusieurs.
  • Fiabilité : il gère automatiquement les décalages et le cycle de vie des connecteurs.
  • Extensibilité: la communauté a construit des connecteurs pour les systèmes les plus populaires. IBM® possède des connecteurs pour MQ et Cloud Object Storage.

Vous pouvez utiliser Kafka Connect avec IBM® Event Streams for IBM Cloud® et exécuter les agents à l'intérieur ou à l'extérieur de IBM Cloud®. IBM dispose d'une longue liste de plus de 50 connecteurs pris en charge par IBM ou par la communauté. Ces connecteurs se trouvent dans le catalogue des connecteurs.

Kafka Connect peut s'exécuter en mode autonome ou distribué. Le mode autonome est destiné aux tests et aux connexions temporaires entre systèmes. Le mode distribué est plus approprié pour une utilisation en production. La configuration nécessaire varie légèrement selon que vous voulez utiliser Event Streams avec l'un ou l'autre mode.

Configuration d'un agent autonome

L'agent autonome n'utilise pas de rubrique interne. A la place, il utilise un fichier pour stocker les informations de position.

Vous devez indiquer les serveurs d'amorce et les données d'identification SASL dans le fichier de propriétés de l'agent que vous fournissez lorsque vous démarrez un agent autonome Kafka Connect. L'exemple suivant répertorie les propriétés que vous devez fournir dans votre fichier de propriétés :

    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

Remplacez BOOTSTRAP_ENDPOINTS, USER et PASSWORD par les valeurs de votre Event Streams Références de service onglet dans la IBM Cloud console.

Connecteur source

L'exemple suivant répertorie les propriétés que vous devez fournir dans votre fichier de propriétés :

    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

Remplacez BOOTSTRAP_ENDPOINTS, USER et PASSWORD par les valeurs de votre Event Streams Références de service onglet dans la IBM Cloud console.

Connecteur du collecteur

L'exemple suivant répertorie les propriétés que vous devez fournir dans votre fichier de propriétés :

    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

Remplacez BOOTSTRAP_ENDPOINTS, USER et PASSWORD par les valeurs de votre Event Streams Références de service onglet dans la IBM Cloud console.

Configuration d'agent distribué

Vous devez indiquer les serveurs d'amorce et les données d'identification SASL dans le fichier de propriétés que vous fournissez lorsque vous démarrez des agents distribués Kafka Connect. L'exemple suivant répertorie les propriétés que vous devez fournir dans votre fichier de propriétés :

    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

Remplacez BOOTSTRAP_ENDPOINTS, USER et PASSWORD par les valeurs de votre Event Streams Références de service onglet dans la IBM Cloud console.

Si vous voulez utiliser un connecteur source, vous devez également indiquer la configuration SASL et SSL du fournisseur, comme suit :

    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 vous voulez utiliser un connecteur de collecteur, vous devez également indiquer la configuration SASL et SSL du consommateur, comme suit :

    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

De plus, en mode distribué, Kafka Connect utilise trois rubriques en interne. Ces rubriques sont créées automatiquement au démarrage d'un agent si vous utilisez Kafka Connect dans Apache Kafka version 0.11 ou ultérieure. Vous indiquez les noms de rubriques sous forme de paramètres de configuration. Vérifiez que les valeurs sont identiques pour tous les agents ayant la même valeur de configuration group.id.

Sujets dans Kafka Connect
Configuration Description
offset.storage.topic Rubrique Décalages de connecteur
offset.storage.partitions Rubrique Nombre de partitions pour les décalages de connecteur (par défaut, 25)
config.storage.topic Rubrique Configuration de connecteur
status.storage.topic Rubrique Statut de connecteur
status.storage.partitions Rubrique Nombre de partitions pour les statuts de connecteur (par défaut, 5)

Par exemple, vous pouvez utiliser les paires clé-valeur suivantes dans votre fichier de propriétés :

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

Envisagez de réduire le nombre de partitions si vous utilisez peu Kafka Connect.

Pour plus d'informations sur Kafka Connect, voir Présentation deKafka Connect.