Dépannage du connecteur RabbitMQ
Bêta
Cette fonctionnalité est en Bêta. Les administrateurs du Workspace peuvent contrôler l'accès à cette fonctionnalité à partir de la page Previews . Consultez Gérer les aperçus Databricks.
Cette page explique comment résoudre les erreurs courantes avec le connecteur RabbitMQ géré dans Lakeflow Connect.
Pour obtenir des conseils de dépannage généraux qui s'appliquent à tous les pipelines d'ingestion gérés, consultez Dépannage des pipelines d'ingestion gérés.
Pour les questions comportementales (par exemple, ce qui arrive aux messages si le pipeline tombe en panne avant de les accuser réception), consultez la FAQ du connecteur RabbitMQ.
Le pipeline ne parvient pas à se connecter au courtier RabbitMQ (délai d’attente de connexion)
Cause : Le broker est inaccessible depuis l'environnement de compute serverless Databricks. Les causes courantes incluent un hôte ou un port incorrect dans la connexion, ou une connectivité réseau bloquée.
Résolution :
- Vérifiez que l'hôte et le port de la connexion Unity Catalog sont corrects. La valeur par default du port RabbitMQ est
5672. - Vérifiez que l’hôte virtuel de la connexion est correct. L'hôte virtuel default est
/. - Assurez-vous que la connectivité réseau entre le plan de compute Serverless et votre courtier est autorisée. Vérifiez votre appairage de Virtual Private Cloud (VPC), votre groupe de sécurité ou vos règles de pare-feu.
Stream ne renvoie aucun enregistrement même si des données existent
Cause : Le pipeline s'est connecté avec succès mais ne reçoit pas de messages. Les causes courantes incluent un nom de file d'attente incorrect, un consommateur externe concurrent ou des messages qui ont déjà été consommés et acquittés par un autre consommateur.
Résolution :
- Vérifiez que le nom
queuedans votrerabbitmq_optionscorrespond à la file d'attente sur le broker. - Vérifiez si un autre consommateur (non-Spark) lit à partir de la même file d'attente. RabbitMQ délivre chaque message à exactement un consommateur.
- Confirmez que l'utilisateur de la connexion dispose de l'autorisation de lecture sur la file d'attente.
Stream se connecte mais aucun enregistrement n'arrive (problème d'authentification ou d'autorisation)
Cause : le pipeline s’est authentifié auprès du broker avec succès, mais les identifiants ne disposent pas des autorisations nécessaires pour consommer à partir de la file d’attente spécifiée.
Résolution : Vérifiez que le nom d'utilisateur utilisé dans la connexion Unity Catalog dispose des autorisations de lecture sur la file d'attente. Contactez votre administrateur RabbitMQ pour examiner les autorisations.
Les messages sont redistribués après un redémarrage
**Cause** : Ce comportement est attendu. RabbitMQ assure une livraison au moins une fois. Si le pipeline tombe en panne ou se déconnecte avant d'accuser réception des messages, ces messages restent dans la file d'attente et sont livrés à nouveau lors de la reconnexion. Les messages retransmis ont _redelivered défini sur true.
Résolution : Si votre cas d'utilisation nécessite un traitement exact une seule fois, dédupliquez en aval à l'aide d'une clé spécifique à l'application. Consultez Le connecteur peut-il garantir une diffusion exactement une fois ?.