IBM Cloud Docs
Conectando o IBM® MQ ao Event Streams usando o serviço Kubernetes

Conectando o IBM® MQ ao Event Streams usando o serviço Kubernetes

Obtenha o tempo de execução do Kafka Connect para executar em um cluster IBM Cloud® Kubernetes Service. Em seguida, inicie o IBM MQ Conector de origem para copiar mensagens de uma fila de origem do IBM MQ para um tópico de destino Kafka no Event Streams.

O conector de origem do IBM MQ se conecta a um gerenciador de filas do IBM MQ e consome dados da mensagem do MQ de uma fila do MQ. O conector converte cada mensagem do MQ em um registro do Kafka e envia a mensagem para um tópico do Kafka do Event Streams.

Etapa 1. Instalar os pré-requisitos

Assegure-se de que você tenha o software e os serviços a seguir instalados:

  • Uma instância do Event Streams - plano Standard ou Enterprise.

  • Uma instância do IBM MQ on Cloud ou IBM MQ Versão 8ou posterior.

    É possível configurar o IBM MQ Connector para autenticar com o IBM MQ usando um identificador de usuário e senha. Recomendamos conceder as seguintes permissões somente para a identidade associada a uma instância da ponte do MQ:

    • Autoridade CONNECT. O IBM MQ Connector deve ser capaz de se conectar ao gerenciador de fila do MQ.
    • Autoridade GET para a fila da qual o Conector IBM MQ está configurado para consumir.
  • Um cluster do Kubernetes Service. Você pode provisionar um para fins de teste sem nenhum custo.

    Também é necessário o acesso de CLI ao seu cluster. Para obter mais informações, consulte Configurando a CLI e a API.

  • Uma versão recente do kubectl

  • Git

Etapa 2. Clonar os repositórios do kafka-connect

Clone os dois repositórios a seguir que contêm os arquivos necessários:

Etapa 3. Crie a configuração do Kafka Connect

  1. Deve-se definir essa configuração apenas uma vez. O Event Streams armazena-o para uso futuro.

    No projeto event-streams-samples, navegue para o kafka-connect/IKS directory, edite o arquivo connect-distributed.properties e substitua <BOOTSTRAP_SERVERS>; em um local e <APIKEY> em três locais com suas credenciais do Event Streams..

    Forneça <BOOTSTRAP_SERVERS> como uma lista separada por vírgula. Se não forem válidos, você receberá um erro.

    Seu <APIKEY> aparece em texto não criptografado em sua máquina, mas é secreto quando enviado por push para o Kubernetes Service.

    O Kafka Connect pode executar múltiplos trabalhadores por motivos de confiabilidade e escalabilidade. Se o seu cluster do Kubernetes Service tiver mais de um nó e você desejar ter vários trabalhadores do Connect, edite o arquivo kafka-connect.yaml e edite a entrada replicas: 1.

  2. Em seguida, execute os comandos a seguir:

    Para criar um segredo, execute o seguinte comando:

    kubectl create secret generic connect-distributed-config --from-file=connect-distributed.properties
    

    Para criar um configmap, execute o comando a seguir:

    kubectl create configmap connect-log4j-config --from-file=connect-log4j.properties
    

Etapa 4. Implementar o Kafka Connect

Aplique a configuração no arquivo kafka-connect.yaml executando o seguinte comando:

kubectl apply -f ./kafka-connect.yaml

Etapa 5. Verificar se o Kafka Connect está em execução

Para validar que o Kafka Connect está em execução, encaminhe a porta para o serviço kafkaconnect na porta 8083, como no exemplo a seguir.

kubectl port-forward service/kafkaconnect-service 8083

Mantenha o terminal que você usou para encaminhamento de porta aberto, e use outro terminal para as próximas etapas.

A API de REST do Connect está então disponível em http://localhost:8083. Se desejar obter mais informações sobre a API, consulte Kafka Connect REST Interface.

Então, agora você tem o tempo de execução do Kafka Connect que é implementado e está em execução em Kubernetes Service. Em seguida, vamos configurar e iniciar o IBM MQ Connector.

Etapa 6. Configurar o arquivo json mq-source

Edite o arquivo mq-source.json que está localizado em kafka-connect-mq-source/config para que, no mínimo, as propriedades necessárias sejam concluídas com suas informações.

Propriedades do arquivo mq-source.json

Substitua os itens temporários no arquivo mq-source.json pelos seus próprios valores.

TÓPICO
Obrigatório. Nome do tópico Kafka de destino..
QUEUE_MANAGER
Obrigatório. Nome do gerenciador de fila de origem do IBM MQ
QUEUE
Obrigatório. Nome da fila de origem IBM MQ.
CHANNEL_NAME
Necessário (a menos que você esteja usando ligações ou um arquivo CCDT). Nome do canal de conexão do servidor.
CONNECTION_NAME_LIST
Necessário (a menos que você esteja usando ligações ou um arquivo CCDT). Uma lista de um ou mais pares de host (porta) para a conexão com o gerenciador de filas. Separe as entradas com uma vírgula.

Etapa 7. Inicie o conector com sua configuração

Execute o comando a seguir para iniciar o IBM MQ Connector com a configuração fornecida na etapa anterior.

curl -X POST -H "Content-Type: application/json" http://localhost:8083/connectors --data "@./mq-source.json"

Etapa 8. Monitorar o seu conector

É possível verificar o seu conector, acessando o seguinte endereço:

http://localhost:8083/connectors/mq-source/status

Se o estado do conector não estiver em execução, reinicie o conector.