Connexion de IBM® MQ à Event Streams à l'aide du service Kubernetes
Obtenez l'environnement d'exécution Kafka Connect à exécuter dans un cluster IBM Cloud® Kubernetes Service. Démarrez ensuite la file d'attente source IBM MQ Source Connector pour copier les messages d'une file d'attente source IBM MQ vers une rubrique Kafka de destination dans Event Streams.
Le connecteur source IBM MQ se connecte à un gestionnaire de files d'attente IBM MQ et consomme des données de message MQ à partir d'une file d'attente MQ. Le connecteur convertit chaque message MQ en un enregistrement Kafka et envoie le message à une rubrique Kafka Event Streams.
Étape 1. Installation des prérequis
Vérifiez que le logiciel et les services suivants sont installés :
-
Une instance Event Streams - plan Standard ou Enterprise.
-
Une instance de IBM MQ on Cloud ou IBM MQ version 8ou ultérieure.
Vous pouvez configurer le connecteur IBM MQ pour l'authentification auprès de IBM MQ à l'aide d'un identificateur utilisateur et d'un mot de passe. Il est conseillé d'accorder les droits suivants uniquement à l'identité associée à une instance du pont MQ :
- Droits CONNECT. Le connecteur IBM MQ doit pouvoir se connecter au gestionnaire de files d'attente MQ.
- Droit GET sur la file d'attente à partir de laquelle le connecteur IBM MQ est configuré pour consommer.
-
Un cluster Kubernetes Service. Vous pouvez en mettre un à disposition à des fins de test gratuitement.
Vous avez également besoin d'un accès CLI à votre cluster. Pour plus d'informations, voir Configuration de l'interface de ligne de commande et de l'API.
-
Une version récente de kubectl
Étape 2. Clonez les référentiels de connexion Kafka
Clonez les deux référentiels suivants qui contiennent les fichiers requis :
Étape 3. Création de votre configuration Kafka Connect
-
Vous devez configurer cette configuration une seule fois. Event Streams la conservera pour les utilisations ultérieures.
A partir du projet event-streams-samples, accédez à
kafka-connect/IKS directory, éditez le fichierconnect-distributed.propertieset remplacez<BOOTSTRAP_SERVERS>; à un emplacement et<APIKEY>à trois emplacements par vos données d'identification Event Streams.Indiquez
<BOOTSTRAP_SERVERS>comme liste séparée par des virgules. Si elles ne sont pas valides, vous obtenez une erreur.Votre
<APIKEY>apparaît en clair sur votre machine, mais il est secret lorsqu'il est envoyé vers Kubernetes Service.Kafka Connect peut exécuter des noeuds worker multiples pour des raisons de fiabilité et d'évolutivité. Si votre cluster Kubernetes Service comporte plusieurs nœuds et que vous souhaitez plusieurs processus Connect, éditez le fichier
kafka-connect.yamlet éditez l'entréereplicas: 1. -
Exécutez ensuite les commandes suivantes.
Pour créer un secret, exécutez la commande suivante:
kubectl create secret generic connect-distributed-config --from-file=connect-distributed.propertiesPour créer une mappe de configuration, exécutez la commande suivante:
kubectl create configmap connect-log4j-config --from-file=connect-log4j.properties
Étape 4. Déployez Kafka Connect
Appliquez la configuration dans le fichier kafka-connect.yaml en exécutant la commande suivante :
kubectl apply -f ./kafka-connect.yaml
Étape 5. Validation de Kafka Connect en cours d'exécution
Pour vérifier que Kafka Connect est en cours d'exécution, effectuez un transfert de port vers kafkaconnect-service sur le port 8083, comme dans l'exemple suivant.
kubectl port-forward service/kafkaconnect-service 8083
Conservez le terminal que vous avez utilisé pour le transfert de port ouvert et utilisez un autre terminal pour les étapes suivantes.
L'API REST de Connect est alors disponible à l'adresse http://localhost:8083. Pour plus d'informations sur l'API, voir
Interface RESTKafka Connect.
Par conséquent, vous disposez maintenant de l'environnement d'exécution Kafka Connect déployé et en cours d'exécution dans Kubernetes Service. Ensuite, configurons et démarrez le connecteur IBM MQ.
Étape 6. Configuration du fichier json mq-source
Éditez le fichier mq-source.json situé dans kafka-connect-mq-source/config de sorte que, au minimum, les propriétés requises soient remplies avec vos informations.
Propriétés du fichier mq-source.json
Remplacez les espaces réservés du fichier mq-source.json par vos propres valeurs.
- Topic
- Obligatoire. Nom de la rubrique Kafka de destination.
- QUEUE_MANAGER
- Obligatoire. Nom du gestionnaire de files d'attente IBM MQ source.
- File d'attente
- Obligatoire. Nom de la file d'attente IBM MQ source.
- CHANNEL_NAME
- Requis (sauf si vous utilisez des liaisons ou un fichier CCDT). Nom du canal de connexion serveur.
- CONNECTION_NAME_LIST
- Requis (sauf si vous utilisez des liaisons ou un fichier CCDT). Liste contenant au moins une paire hôte-port pour la connexion au gestionnaire de files d'attente. Séparez les entrées à l'aide d'une virgule.
Etape 7. Démarrer le connecteur avec sa configuration
Exécutez la commande suivante pour démarrer le connecteur IBM MQ avec la configuration que vous avez fournie à l'étape précédente.
curl -X POST -H "Content-Type: application/json" http://localhost:8083/connectors --data "@./mq-source.json"
Étape 8. Contrôler votre connecteur
Vous pouvez vérifier votre connecteur à l'adresse suivante :
http://localhost:8083/connectors/mq-source/status
Si l'état indique que le connecteur ne s'exécute pas, redémarrez-le.