Pular para o conteúdo principal

Solucionar problemas do conector RabbitMQ

info

Beta

Este recurso está em Beta. Os administradores do espaço de trabalho podem controlar o acesso a esse recurso na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.

Esta página mostra como solucionar erros comuns com o conector RabbitMQ gerenciado no Lakeflow Connect.

Para perguntas comportamentais (por exemplo, o que acontece com as mensagens quando o pipeline falha antes de reconhecê-las), consulte Perguntas frequentes sobre o conector RabbitMQ.

Falha do pipeline ao conectar ao broker RabbitMQ (tempo limite de conexão)

Causa : o broker está inacessível a partir do ambiente de compute serverless do Databricks. Causas comuns incluem um host ou porta incorretos na conexão, ou conectividade de rede bloqueada.

Resolução :

  1. Verifique se o host e a porta na conexão do Unity Catalog estão corretos. A porta default do RabbitMQ é 5672.
  2. Verificar se o host virtual na conexão está correto. O host virtual padrão é /.
  3. Certifique-se de que a conectividade de rede do plano de compute serverless para seu broker seja permitida. Verifique suas regras de emparelhamento da VPC, grupo de segurança ou firewall.

A transmissão não retorna nenhum registro mesmo que existam dados

Causa : O pipeline se conectou com sucesso, mas não está recebendo mensagens. Causas comuns incluem um nome de fila incorreto, um consumidor externo concorrente ou mensagens que já foram consumidas e reconhecidas por outro consumidor.

Resolução :

  1. Verifique se o nome queue em seu rabbitmq_options corresponde à fila no broker.
  2. Verifique se outro consumidor (não Spark) está lendo da mesma fila. RabbitMQ entrega cada mensagem a exatamente um consumidor.
  3. Confirme que o usuário da conexão tem permissão de leitura na fila.

Transmissão conecta, mas nenhum registro chega (problema de autenticação ou autorização)

Causa: A pipeline autenticou-se com sucesso no broker, mas as credenciais não têm permissão para consumir da fila especificada.

Resolução : Verifique se o nome de usuário usado na conexão do Unity Catalog tem permissão de leitura na fila. Entre em contato com seu administrador do RabbitMQ para revisar as permissões.

As mensagens são reentregues após um reinício

Causa: Comportamento esperado. RabbitMQ fornece entrega pelo menos uma vez. Se o pipeline falhar ou se desconectar antes de confirmar as mensagens, essas mensagens permanecerão na fila e serão reenviadas após a reconexão. Mensagens reenviadas têm _redelivered definidos como true.

Resolução : Se o seu caso de uso exigir processamento exatamente uma vez, desduplique a jusante usando uma chave específica do aplicativo. Consulte O conector pode garantir a entrega exatamente uma vez?.