Conexión de IBM® MQ a Event Streams utilizando el servicio Kubernetes
Obtenga el tiempo de ejecución de Kafka Connect para que se ejecute en un clúster de IBM Cloud® Kubernetes Service. A continuación, inicie el conector de origen IBM MQ para copiar mensajes de una cola de origen IBM MQ en un tema Kafka de destino en Event Streams.
El conector de origen de IBM MQ se conecta a un gestor de colas de IBM MQ y consume datos de mensaje de MQ de una cola de MQ. El conector convierte cada mensaje MQ en un registro Kafka y envía el mensaje a un tema de Event Streams Kafka.
Paso 1. Instalar los requisitos previos
Asegúrese de que se hayan instalado el software y los servicios siguientes:
-
Una instancia de Event Streams: plan Estándar o Empresa.
-
Una instancia de IBM MQ on Cloud o IBM MQ Versión 8o posterior.
Puede configurar el conector de IBM MQ para autenticarse con IBM MQ utilizando un identificador de usuario y una contraseña. Recomendamos que otorgue los permisos siguientes sólo a la identidad asociada con una instancia del puente de MQ:
- Autorización CONNECT. El conector IBM MQ debe poder conectarse al gestor de colas MQ.
- Autorización GET para la cola de la que está configurado el conector IBM MQ para consumir.
-
Un clúster de Kubernetes Service. Puede suministrar uno para fines de prueba sin coste alguno.
También necesita acceso de CLI a su clúster. Para obtener más información, consulte Configuración de la CLI y la API.
-
Una versión reciente de kubectl
Paso 2. Clonar los repositorios de kafka-connect
Clone los dos repositorios siguientes que contienen los archivos necesarios:
Paso 3. Cree la configuración de Kafka Connect
-
Debe configurar esta configuración sólo una vez. Event Streams la almacena para su uso futuro.
Desde el proyecto event-streams-samples, vaya a
kafka-connect/IKS directory, edite el archivoconnect-distributed.propertiesy sustituya<BOOTSTRAP_SERVERS>; en un lugar y<APIKEY>en tres lugares con sus credenciales de Event Streams.Proporcione
<BOOTSTRAP_SERVERS>como una lista separada por comas. Si no son válidos, obtiene un error.Su
<APIKEY>aparece en texto simple en su máquina, pero es secreto cuando se envía a Kubernetes Service.Kafka Connect puede conectar varios trabajadores por razones de fiabilidad y escalabilidad. Si el clúster de Kubernetes Service tiene más de un nodo y desea varios trabajadores de Connect, edite el archivo
kafka-connect.yamly edite la entradareplicas: 1. -
A continuación, ejecute los mandatos siguientes.
Para crear un secreto, ejecute el mandato siguiente:
kubectl create secret generic connect-distributed-config --from-file=connect-distributed.propertiesPara crear un configmap, ejecute el mandato siguiente:
kubectl create configmap connect-log4j-config --from-file=connect-log4j.properties
Paso 4. Desplegar Kafka Connect
Aplique la configuración en el archivo kafka-connect.yaml ejecutando el mandato siguiente:
kubectl apply -f ./kafka-connect.yaml
Paso 5. Validar que Kafka Connect se está ejecutando
Para validar que Kafka Connect se está ejecutando, reenvíe el puerto al servicio kafkaconnect en el puerto 8083, como en el ejemplo siguiente.
kubectl port-forward service/kafkaconnect-service 8083
Mantenga abierto el terminal que ha utilizado para el reenvío de puertos y utilice otro terminal para los pasos siguientes.
La API REST de Connect está disponible en http://localhost:8083. Si desea más información sobre la API, consulte
Interfaz REST deKafka Connect.
Por lo tanto, ahora tiene el tiempo de ejecución de Kafka Connect que se despliega y se ejecuta en Kubernetes Service. A continuación, vamos a configurar e iniciar IBM MQ Connector.
Paso 6. Configurar el archivo json de origen mq
Edite el archivo mq-source.json que se encuentra en kafka-connect-mq-source/config para que, como mínimo, las propiedades necesarias se completen con la información.
Propiedades del archivo mq-source.json
Sustituya los marcadores de posición del archivo mq-source.json por sus propios valores.
- Tema
- Obligatorio. Nombre del tema Kafka de destino.
- QUEUE_MANAGER
- Obligatorio. Nombre del gestor de colas IBM MQ de origen.
- Cola
- Obligatorio. Nombre de la cola IBM MQ de origen.
- CHANNEL_NAME
- Obligatorio (a menos que esté utilizando enlaces o un archivo CCDT). Nombre del canal de conexión con el servidor.
- CONNECTION_NAME_LIST
- Obligatorio (a menos que esté utilizando enlaces o un archivo CCDT). Una lista de uno o varios pares de host (puerto) para conectarse al gestor de colas. Separe las entradas con una coma.
Paso 7. Inicie el conector con su configuración
Ejecute el mandato siguiente para iniciar el conector IBM MQ con la configuración que ha proporcionado en el paso anterior.
curl -X POST -H "Content-Type: application/json" http://localhost:8083/connectors --data "@./mq-source.json"
Paso 8. Supervisar el conector
Puede comprobar el conector yendo a la dirección siguiente:
http://localhost:8083/connectors/mq-source/status
Si el estado del conector no es En ejecución, reinicie el conector.