Dépannage

Cette page décrit les différents scénarios d'erreur et la procédure de dépannage pour résoudre les erreurs.

Scénarios d'erreur de connectivité et de mise en réseau

Si votre service rencontre des problèmes de connectivité ou de mise en réseau, consultez les scénarios des sections suivantes pour savoir si l'un d'eux est à l'origine du problème.

Échec de la création du service en raison d'une contrainte limitant l'appairage VPC

Ne définissez pas la contrainte de règle d'administration pour limiter l'appairage VPC. Si vous spécifiez constraints/compute.restrictVpcPeering, votre requête de création échoue avec une erreur INVALID_ARGUMENT. Si vous devez définir la contrainte, exécutez la commande suivante pour autoriser under:folders/270204312590 :

gcloud resource-manager org-policies allow compute.restrictVpcPeering under:folders/270204312590 --organization ORGANIZATION_ID

Pour en savoir plus, consultez la section Contraintes de règles d'administration.

Échec du déploiement inter-projets si le compte de service n'existe pas

Pour créer un service Dataproc Metastore accessible dans un réseau appartenant à un projet différent de celui auquel le service appartient, vous devez accorder le rôleroles/metastore.serviceAgent à l'agent de service Dataproc Metastore du projet de service (service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com ) dans la stratégie IAM du projet réseau.

gcloud projects add-iam-policy-binding NETWORK_PROJECT_ID \
    --role "roles/metastore.serviceAgent" \
    --member "serviceAccount:service-SERVICE_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com"

Pour en savoir plus, consultez la page Configurer un déploiement sur plusieurs projets.

Veuillez indiquer une adresse IP privée pour la connectivité réseau

Dataproc Metastore n'utilise qu'une adresse IP privée. Par conséquent, aucune adresse IP publique n'est exposée. Cela signifie que seules les VM du réseau cloud privé virtuel (VPC) fourni ou sur site (connectées via Cloud VPN ou Cloud Interconnect) peuvent accéder au service Dataproc Metastore.

Pour en savoir plus, consultez la section Accès aux services.

Règle de pare-feu d'autorisation d'entrée requise pour Kerberos

Kerberos nécessite Dataproc Metastore pour initier des connexions aux hôtes de votre réseau de projet. Vous devez créer une règle de pare-feu qui autorise l'entrée TCP et UDP sur tous les ports du bloc d'adresses IP /17 contenant l'adresse IP de Dataproc Metastore.

Pour en savoir plus, consultez les sections Règles de pare-feu sur votre KDC et Règles de pare-feu pour vos services.

Erreur de connexion provoquée par des ressources provisionnées dans des réseaux VPC partagés

Si votre service Dataproc Metastore utilise un réseau appartenant à un projet différent et que Compute Engine est protégé par le périmètre de service, le projet de métastore et le projet réseau doivent se trouver dans le même périmètre.

Pour ajouter des projets Dataproc Metastore existants au périmètre, suivez les instructions de la section Mettre à jour un périmètre de service.

Pour en savoir plus, consultez la page VPC Service Controls avec Dataproc Metastore.

La plage d'adresses IP allouée est épuisée.

Le réseau VPC fourni peut manquer d'adresses RFC 1918 disponibles requises par les services Dataproc Metastore. Dans ce cas, Dataproc Metastore tente de réserver des plages d'adresses IP privées en dehors des plages RFC 1918 pour la création de services. Pour obtenir la liste des plages privées non-RFC 1918 compatibles, consultez la section Plages valides dans la documentation du réseau VPC.

Les adresses IP privées non-RFC 1918 utilisées dans Dataproc Metastore peuvent entrer en conflit avec une plage d'un réseau sur site connecté au réseau VPC fourni. Pour vérifier la liste des adresses IP privées RFC 1918 et non-RFC 1918 réservées par Dataproc Metastore, procédez comme suit:

gcloud compute addresses list \
    --project NETWORK_PROJECT_ID \
    --filter="purpose:VPC_PEERING AND name ~ cluster|resourcegroup"

Si un conflit est déterminé et ne peut pas être atténué en reconfigurant le réseau sur site, supprimez le service Dataproc Metastore défaillant, puis recréez-le après deux heures.

Pour plus d'informations, consultez la section Épuisement de la plage d'adresses IP.

Scénarios d'erreur de délai avant expiration de l'opération

Les scénarios d'erreur suivants entraînent une absence de réponse du service ou des délais d'opération.

Utiliser les journaux d'audit pour résoudre les problèmes d'expiration des délais d'opération

Pour résoudre les délais d'inactivité du service, utilisez l'explorateur de journaux de Cloud Console pour récupérer les entrées du journal d'audit de votre projet Cloud.

Dans le volet du générateur de requêtes, sélectionnez Ressource auditée ou audited_resource comme type de ressource Google Cloud, suivi de Dataproc Metastore ou metastore.googleapis.com en tant que service. La sélection d'une méthode est facultative.

Pour en savoir plus, consultez la page Afficher les journaux.

Scénarios d'erreur d'importation et d'exportation

Cette section décrit les problèmes d'importation et d'exportation courants de Dataproc Metastore.

L'importation échoue, car les versions Hive ne correspondent pas.

Lorsque vous importez des métadonnées, les versions du métastore Hive et de Dataproc Metastore doivent être compatibles. Votre importation peut échouer si les deux ne correspondent pas.

Pour plus d'informations, consultez les règles de versions.

Échec de l'importation, car il manque des fichiers de table Hive.

Lors de la préparation de l'importation pour Avro, un fichier doit être enregistré pour chaque table Hive, même si la table est vide. Sinon, l'importation échoue.

Vous pouvez utiliser le kit Dataproc Metastore comme référence pour vérifier les schémas de métadonnées Hive appropriés.

L'agent de service ou l'utilisateur ne dispose pas des autorisations nécessaires

L'agent de service Dataproc Metastore (service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com) et l'utilisateur qui importe les métadonnées doivent disposer des autorisations de lecture suivantes sur le bucket Cloud Storage utilisé pour l'importation:

  • Pour MySQL, ils doivent disposer de l'autorisation storage.objects.get sur l'objet Cloud Storage (fichier de vidage SQL) utilisé pour l'importation.

  • Pour Avro, ils doivent disposer de l'autorisation storage.objects.get sur le bucket Cloud Storage utilisé pour l'importation.

Pour les exportations, l'agent de service Dataproc Metastore (service-CUSTOMER_PROJECT_NUMBER@gcp-sa-metastore.iam.gserviceaccount.com) et l'utilisateur qui crée l'exportation doivent disposer de l'autorisation storage.objects.create sur le bucket.

La tâche échoue, car le fichier de base de données est trop volumineux

Si le fichier de base de données est trop volumineux, l'exécution du processus d'importation ou d'exportation peut prendre plus que le délai avant expiration de la tâche d'une heure.

Scénarios d'erreur de sauvegarde et de restauration

Cette section décrit les problèmes courants de sauvegarde et de restauration de Dataproc Metastore.

Impossible de créer une sauvegarde pour un service

Si un service contient déjà sept sauvegardes, vous devez d'abord en supprimer une manuellement avant d'en créer une autre. Vous pouvez supprimer des sauvegardes existantes à partir de l'onglet Sauvegarder/Restaurer.

L'utilisateur ne dispose pas des autorisations nécessaires

Pour sauvegarder des métadonnées, vous devez demander un rôle IAM contenant l'autorisation IAM metastore.backups.create.

Pour restaurer les métadonnées, vous devez demander un rôle IAM contenant les autorisations IAM metastore.services.restore et metastore.backups.use.

La tâche échoue, car le fichier de métadonnées du service est trop volumineux

Si votre fichier de métadonnées de service est trop volumineux, le processus de sauvegarde ou de restauration peut prendre plus de temps que le délai avant expiration de la tâche d'une heure.

Scénarios d'erreur de cluster Dataproc

Les sections suivantes décrivent les problèmes courants liés aux clusters Dataproc et autogérés.

Échec du rattachement de cluster Dataproc en raison de versions incompatibles

Lorsque vous associez un cluster Dataproc, l'image Dataproc et la version Hive Dataproc Metastore doivent être compatibles. Consultez les pages de gestion des versions d'images suivantes pour vous assurer que la version de Hive est compatible:

Pour en savoir plus, consultez la liste des versions d'image Dataproc.

Échec de la connexion au métastore en raison de problèmes de fuseau horaire

Votre fichier Hive renvoie l'erreur The server time zone value 'CDT' is unrecognized or represents more than one time zone.

Si vous ne pouvez pas vous connecter à votre métastore depuis Dataproc, vous devez supprimer votre cluster actuel et mettre à jour votre commande gcloud dataproc clusters create ou votre outil d'automatisation pour inclure les paramètre de fuseau horaire suivants :

--metadata "hive-metastore-uri=jdbc:mysql://10.207.26.77:3306/hive_metastore?serverTimezone=CST6CDT"

Résoudre les problèmes liés à l'outil de ligne de commande gcloud

Si vous rencontrez un problème lié à l'indisponibilité d'une commande de l'outil gcloud ou à un comportement de la commande différent de celui documenté, essayez de mettre à jour le SDK gcloud :

gcloud components update

Étape suivante