Connessione di IBM® MQ a Event Streams utilizzando il servizio Kubernetes
Ottieni il runtime Kafka Connect da eseguire in un cluster IBM Cloud® Kubernetes Service. Quindi, avvia il connettore di origine IBM MQ per copiare i messaggi da un topic IBM MQ di origine a un topic Kafka di destinazione in Event Streams.
Il connettore di origine IBM MQ si connette a un gestore code IBM MQ e utilizza i dati del messaggio MQ da una coda MQ. Il Connector converte ogni messaggio MQ in un record Kafka e invia il messaggio a un argomento Kafka Event Streams.
Passo 1. Installare i prerequisiti
Assicurati di avere installati i seguenti software e servizi:
-
Un'istanza di Event Streams - Piano Standard o Enterprise.
-
Un'istanza di IBM MQ on Cloud o IBM MQ Versione 8o successiva.
Puoi configurare il connettore IBM MQ per l'autenticazione con IBM MQ utilizzando un ID utente e una password. Si consiglia di concedere le seguenti autorizzazioni solo all'identità associata a un'istanza del bridge MQ:
- Autorizzazione CONNECT. IBM MQ Connector deve essere in grado di connettersi al gestore code MQ.
- Autorizzazione GET per la coda da cui il connettore IBM MQ è configurato per l'utilizzo.
-
Un cluster Kubernetes Service. Puoi eseguirlo gratuitamente per scopi di test.
Hai anche bisogno dell'accesso CLI al tuo cluster. Per ulteriori informazioni, vedi Configurazione della CLI e dell'API.
-
Una versione recente di kubectl
Passo 2. Clona i repository kafka - connect
Clona i seguenti due repository che contengono i file richiesti:
Passo 3. Crea la tua configurazione Kafka Connect
-
È necessario impostare questa configurazione solo una volta. Event Streams lo memorizza per un utilizzo futuro.
Dal progetto event - streams - samples, passa a
kafka-connect/IKS directory, modifica il fileconnect-distributed.propertiese sostituisci<BOOTSTRAP_SERVERS>; in un luogo e<APIKEY>in tre luoghi con le tue credenziali Event Streams.Fornire
<BOOTSTRAP_SERVERS>come elenco separato da virgole. Se non sono validi, si riceve un errore.Il tuo
<APIKEY>appare in testo chiaro sulla tua macchina ma è segreto quando ne viene eseguito il push a Kubernetes Service.Kafka Connect può eseguire più nodi di lavoro per motivi di affidabilità e scalabilità. Se il tuo cluster Kubernetes Service ha più di un nodo e vuoi più nodi di lavoro Connect, modifica il file
kafka-connect.yamle modifica la vocereplicas: 1. -
Quindi, eseguire i seguenti comandi.
Per creare un segreto, esegui questo comando:
kubectl create secret generic connect-distributed-config --from-file=connect-distributed.propertiesPer creare una configmap, eseguire il seguente comando:
kubectl create configmap connect-log4j-config --from-file=connect-log4j.properties
Passo 4. Distribuisci Kafka Connect
Applicare la configurazione nel file kafka-connect.yaml eseguendo il seguente comando:
kubectl apply -f ./kafka-connect.yaml
Passo 5. Convalida dell'esecuzione di Kafka Connect
Per convalidare che Kafka Connect è in esecuzione, inoltra la porta al servizio kafkaconnect sulla porta 8083, come nel seguente esempio.
kubectl port-forward service/kafkaconnect-service 8083
Mantenere aperto il terminale utilizzato per l'inoltro della porta e utilizzare un altro terminale per i passi successivi.
L'API REST Connect è quindi disponibile all'indirizzo http://localhost:8083. Se vuoi ulteriori informazioni sull'API, vedi
Interfaccia RESTKafka Connect.
Quindi, disponi ora del runtime Kafka Connect distribuito e in esecuzione in Kubernetes Service. Configura e avvia quindi il connettore IBM MQ.
Passo 6. Configura il file JSON di origine mq
Modificare il file mq-source.json che si trova in kafka-connect-mq-source/config in modo che, come minimo, le proprietà richieste siano completate con le proprie informazioni.
Proprietà file mq-source.json
Sostituire i segnaposto nel file mq-source.json con i propri valori.
- ARGOMENTO
- Obbligatorio. Nome dell'argomento Kafka di destinazione.
- GESTORE_CODA
- Obbligatorio. Nome del gestore code IBM MQ di origine.
- CODA
- Obbligatorio. Nome della coda IBM MQ di origine.
- CHANNEL_NOME
- Obbligatorio (a meno che tu stia utilizzando le associazioni o un file CCDT). Nome del canale di connessione server.
- ELENCO_NOME_CONNESSIONE
- Obbligatorio (a meno che tu stia utilizzando le associazioni o un file CCDT). Un elenco di una o più coppie host(porta) per la connessione al gestore code. Separa le voci con una virgola.
Passo 7. Avviare il connettore con la relativa configurazione
Immetti il seguente comando per avviare il connettore IBM MQ con la configurazione che hai fornito nel passo precedente.
curl -X POST -H "Content-Type: application/json" http://localhost:8083/connectors --data "@./mq-source.json"
Passo 8. Monitorare il connettore
È possibile controllare il connettore andando al seguente indirizzo:
http://localhost:8083/connectors/mq-source/status
Se lo stato del connettore non è in esecuzione, riavvialo.