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
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
-
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 arquivoconnect-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 entradareplicas: 1
. -
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.