Aller au contenu principal

Résoudre les problèmes de compute

Cet article vous fournit des ressources que vous pouvez utiliser si vous avez besoin de dépannage pour le comportement de compute dans votre Workspace. Les sujets de cet article se rapportent aux problèmes de start de compute.

Pour d'autres articles de dépannage, consultez :

Utilisez Genie Code pour déboguer les erreurs d'environnement de compute

Genie Code peut aider à diagnostiquer et à suggérer des correctifs pour les erreurs d'installation de la bibliothèque.

Sur la page Bibliothèques du compute, un bouton Icône d'avatar du code Genie. Diagnostiquer l'erreur apparaît à côté du nom du package défaillant et sur la modale de détails qui s'affiche lorsque vous cliquez sur le package défaillant. Cliquez sur Icône d'avatar du code Genie. Diagnostiquer l'erreur pour utiliser Genie Code afin de vous aider à déboguer. Genie Code diagnostiquera l'erreur et suggérera des solutions possibles.

Utilisez l'Assistant pour déboguer les erreurs d'installation de bibliothèques de compute.

Vous pouvez également utiliser Genie Code pour déboguer les erreurs d'environnement de compute dans un notebook. Consulter Déboguer les erreurs d'environnement.

Un nouveau compute ne répond pas.

Après ce qui semble être un déploiement réussi du Workspace, vous remarquerez peut-être que votre premier compute de test ne répond pas. Après environ 20 à 30 minutes, vérifiez votre log d'événements de compute. Vous pourriez voir un message d'erreur similaire à :

The compute plane network is misconfigured. Please verify that the network for your compute plane is configured correctly. Error message: Node daemon ping timeout in 600000 ms ...

Ce message indique que le routage ou le pare-feu est incorrect. Databricks a demandé des instances EC2 pour un nouveau compute, mais a rencontré un long délai d'attente pour que l'instance EC2 s'initialise et se connecte au plan de contrôle. Le gestionnaire de compute termine les instances et signale cette erreur.

Votre configuration réseau doit permettre aux instances de nœuds de compute de se connecter avec succès au control plane de Databricks. Pour une technique de dépannage plus rapide que l’utilisation d’un compute, vous pouvez déployer une instance EC2 dans l’un des sous-réseaux du Workspace et effectuer des étapes de dépannage réseau typiques comme nc, ping, telnet, traceroute, etc. Le CNAME de relais pour chaque région est mentionné dans l'article sur le Virtual Private Cloud (VPC) géré par le client. Pour le stockage des artefacts, assurez-vous qu’il existe un chemin réseau vers S3.

Pour les domaines d'accès et les IP par région, consultez Adresses IP et domaines pour les services et les actifs Databricks. Pour les Endpoint régionaux, consultez (Recommandé) Configurer les Endpoint régionaux. L'exemple suivant utilise la région AWS eu-west-1:

Bash
# Verify access to the web application
nc -zv ireland.cloud.databricks.com 443

# Verify access to the secure compute connectivity relay
nc -zv tunnel.eu-west-1.cloud.databricks.com 443

# Verify S3 global and regional access
nc -zv s3.amazonaws.com 443
nc -zv s3.eu-west-1.amazonaws.com 443

# Verify STS global and regional access
nc -zv sts.amazonaws.com 443
nc -zv sts.eu-west-1.amazonaws.com 443

# Verify regional Kinesis access
nc -zv kinesis.eu-west-1.amazonaws.com 443

Si tout cela retourne correctement, la mise en réseau pourrait être configurée correctement, mais il pourrait y avoir un autre problème si vous utilisez un pare-feu. Le pare-feu peut avoir une inspection approfondie des paquets, une inspection SSL ou toute autre chose qui fait échouer les commandes Databricks. En utilisant une instance EC2 dans le sous-réseau Databricks, essayez ce qui suit :

Bash
curl  -X GET -H 'Authorization: Bearer <token>' \
https://<workspace-name>.cloud.databricks.com/api/2.0/clusters/spark-versions

Remplacez <token> par votre jeton d'accès personnel et utilisez l'URL correcte pour votre Workspace. Consultez l'API de gestion des jetons.

Si cette demande échoue, essayez l'option -k avec votre demande pour supprimer la vérification SSL. Si cela fonctionne avec l'option -k, alors le pare-feu est à l'origine d'un problème avec les certificats SSL.

Consultez les certificats SSL en utilisant ce qui suit et remplacez le nom de domaine par le domaine de l’application web du plan de contrôle pour votre région :

Bash
openssl s_client -showcerts -connect oregon.cloud.databricks.com:443

Cette commande affiche le code de retour et les certificats Databricks. S'il renvoie une erreur, c'est le signe que votre pare-feu est mal configuré et doit être corrigé.

Notez que les problèmes SSL ne sont pas un problème de couche réseau. La visualisation du trafic au niveau du pare-feu n'affichera pas ces problèmes SSL. L'examen des requêtes de source et de destination fonctionnera comme prévu.

Les problèmes liés à l'utilisation de votre metastore ou du journal d'événements de compute incluent METASTORE_DOWN événements

Si votre workspace semble être opérationnel et que vous pouvez configurer le compute, mais que vous avez METASTORE_DOWN événements dans vos Logs d'événements de compute, ou si votre metastore ne semble pas fonctionner, confirmez si vous utilisez un pare-feu d'application Web (WAF) comme le proxy Squid. Les membres de compute doivent se connecter à plusieurs services qui ne fonctionnent pas via un WAF.

Compute start error: échec du lancement du conteneur Spark sur l'instance

Vous pourriez voir une erreur de log de compute telle que :

Cluster start error: failed to launch spark container on instance ...
Exception: Could not add container for ... with address ....
Timed out with exception after 1 attempts

Cette erreur de log de calcul est probablement due au fait que l'instance n'est pas en mesure d'utiliser STS pour accéder au compartiment racine S3. Cela se produit généralement lorsque vous implémentez la protection contre l'exfiltration, utilisez des Endpoint VPC pour sécuriser la communication ou ajoutez un pare-feu.

Pour corriger, effectuez l'une des actions suivantes :

Pour obtenir plus d'informations sur l'erreur, appelez la commande decode-authorization-message AWS CLI. Pour plus de détails, consultez l'article AWS sur decode-authorization-message. La commande se présente comme suit :

Bash
aws sts decode-authorization-message --encoded-message

Vous pouvez voir cette erreur si vous avez configuré un Virtual Private Cloud (VPC) Endpoint (VPCE) avec un groupe de sécurité différent pour le STS VPCE que pour les workspaces. Vous pouvez soit mettre à jour les groupes de sécurité pour permettre aux ressources de chaque groupe de sécurité de communiquer entre elles, soit placer le STS VPCE dans le même groupe de sécurité que les sous-réseaux du workspace.

Les nœuds de compute doivent utiliser STS pour accéder au compartiment S3 racine à l'aide de la politique S3 du client. Un chemin réseau doit être disponible vers le service AWS STS à partir des nœuds de compute Databricks.