Cette page explique comment créer un service Dataproc Metastore.
Après avoir créé votre service Dataproc Metastore, vous pouvez importer des métadonnées et vous connecter à l'un des services suivants :
Une instance Apache Hive autogérée, une instance Apache Spark ou un cluster Presto.
Une fois que vous avez associé l'un de ces services, il utilise votre service Dataproc Metastore comme métastore Hive lors de l'exécution des requêtes.
Avant de commencer
- Comprendre les différences entre un service Dataproc Metastore 1 et un service Dataproc Metastore 2
- Activez Dataproc Metastore dans votre projet.
- Comprenez les exigences réseau spécifiques à votre projet.
Rôles requis
Pour obtenir l'autorisation nécessaire pour créer un Dataproc Metastore, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet, en fonction du principe du moindre privilège :
-
Accorder le contrôle total des ressources Dataproc Metastore (
roles/metastore.editor
) -
Accorder un accès complet à toutes les ressources Dataproc Metastore, y compris l'administration des stratégies IAM (
roles/metastore.admin
)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient l'autorisation metastore.services.create
, qui est requise pour créer un Dataproc Metastore.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour en savoir plus sur les rôles et autorisations Dataproc Metastore spécifiques, consultez Gérer les accès avec IAM.Créer Dataproc Metastore à l'aide des paramètres par défaut
La création d'un service Dataproc Metastore à l'aide des paramètres par défaut configure votre service avec un niveau Enterprise, une taille d'instance moyenne, la dernière version de Hive Metastore, un point de terminaison Thrift et un emplacement de données us-central1
.
Dataproc Metastore 2
Les instructions suivantes vous expliquent comment créer un Dataproc Metastore 2 à l'aide d'un point de terminaison Thrift et d'autres paramètres par défaut fournis.
Console
Dans la console Google Cloud , accédez à la page Dataproc Metastore.
Dans la barre de navigation, cliquez sur + Créer.
La boîte de dialogue Créer un service Metastore s'ouvre.
Sélectionnez Dataproc Metastore 2.
Dans la section Tarification et capacité, choisissez une taille d'instance.
Pour en savoir plus, consultez les forfaits et les configurations de scaling.
Dans le champ Nom du service, saisissez un nom unique pour votre service.
Pour en savoir plus sur les conventions d'attribution de noms, consultez Convention d'attribution de noms aux ressources.
Sélectionnez Data location (Emplacement des données).
Pour en savoir plus sur la sélection de la région appropriée, consultez Régions et zones disponibles et Point de terminaison régional.
Pour les autres options de configuration du service, utilisez les valeurs par défaut fournies.
Pour créer et démarrer le service, cliquez sur Envoyer.
Votre nouveau service de métastore s'affiche sur la page Dataproc Metastore. L'état indique Création en cours jusqu'à ce que le service soit prêt à être utilisé. Une fois la clé prête, son état passe à Active. Le provisionnement du service peut prendre quelques minutes.
CLI gcloud
Pour créer un service metastore Dataproc Metastore 2 à l'aide des valeurs par défaut fournies, exécutez la commande gcloud metastore services create
suivante :
gcloud metastore services create SERVICE \ --location=LOCATION \ --instance-size=INSTANCE_SIZE \ --scaling-factor=SCALING_FACTOR
Remplacez les éléments suivants :
SERVICE
: nom de votre nouveau service Dataproc Metastore.LOCATION
: région Google Cloud dans laquelle vous souhaitez créer votre Dataproc Metastore. Vous pouvez également définir un emplacement par défaut.Pour en savoir plus sur les conventions d'attribution de noms, consultez Convention d'attribution de noms aux ressources.
INSTANCE_SIZE
: taille de l'instance de votre Dataproc Metastore multirégional. Par exemple,small
,medium
oularge
. Si vous spécifiez une valeur pourINSTANCE_SIZE
, ne spécifiez pas de valeur pourSCALING_FACTOR
.SCALING_FACTOR
: facteur de scaling de votre service Dataproc Metastore. Par exemple,0.1
. Si vous spécifiez une valeur pourSCALING_FACTOR
, ne spécifiez pas de valeur pourINSTANCE_SIZE
.
REST
Suivez les instructions de l'API pour créer un service à l'aide de l&#APIs Explorer d'API.
Dataproc Metastore 1
Les instructions suivantes vous expliquent comment créer un Dataproc Metastore 1 à l'aide d'un point de terminaison Thrift et d'autres paramètres par défaut fournis.
Console
Dans la console Google Cloud , accédez à la page Dataproc Metastore.
Dans la barre de navigation, cliquez sur + Créer.
La boîte de dialogue Créer un service Metastore s'ouvre.
Sélectionnez Dataproc Metastore 1.
Dans le champ Nom du service, saisissez un nom unique pour votre service.
Pour en savoir plus sur les conventions d'attribution de noms, consultez Convention d'attribution de noms aux ressources.
Sélectionnez Data location (Emplacement des données).
Pour en savoir plus sur la sélection de la région appropriée, consultez Régions et zones disponibles et Point de terminaison régional.
Pour les autres options de configuration du service, utilisez les valeurs par défaut fournies.
Pour créer et démarrer le service, cliquez sur Envoyer.
Votre nouveau service de métastore s'affiche sur la page Dataproc Metastore. L'état indique Création en cours jusqu'à ce que le service soit prêt à être utilisé. Une fois la clé prête, son état passe à Active. Le provisionnement du service peut prendre quelques minutes.
CLI gcloud
Pour créer un service metastore de base à l'aide des valeurs par défaut fournies, exécutez la commande gcloud metastore services create
suivante :
gcloud metastore services create SERVICE \ --location=LOCATION
Remplacez les éléments suivants :
SERVICE
: nom de votre nouveau service Dataproc Metastore.LOCATION
: région Google Cloud dans laquelle vous souhaitez créer votre Dataproc Metastore. Vous pouvez également définir un emplacement par défaut.Pour en savoir plus sur les conventions d'attribution de noms, consultez Convention d'attribution de noms aux ressources.
REST
Suivez les instructions de l'API pour créer un service à l'aide de l'explorateur d'API.
Créer un service Dataproc Metastore à l'aide des paramètres avancés
La création d'un Dataproc Metastore à l'aide des paramètres avancés vous montre comment modifier des configurations telles que les configurations réseau, les paramètres de scaling, les paramètres de point de terminaison, les paramètres de sécurité et les fonctionnalités facultatives.
Dataproc Metastore 2 ou 1
Les instructions suivantes vous montrent comment créer un service Dataproc Metastore 2 ou Dataproc Metastore 1 à l'aide de paramètres avancés.
Console
Commencer
Dans la console Google Cloud , ouvrez la page Dataproc Metastore :
Dans le menu de navigation, cliquez sur + Créer.
La boîte de dialogue Créer un service Metastore s'ouvre.
Sélectionnez la version de Metastore que vous souhaitez utiliser : Dataproc Metastore 1 ou Dataproc Metastore 2.
Infos sur le service
Exemple de la page create service (Facultatif) Pour Dataproc Metastore 2 : Dans la section Tarification et capacité, choisissez une taille d'instance.
Pour en savoir plus, consultez les forfaits et les configurations de scaling.
Dans le champ Nom du service, saisissez un nom unique pour votre service.
Pour en savoir plus sur les conventions d'attribution de noms, consultez Convention d'attribution de noms aux ressources.
Sélectionnez Data location (Emplacement des données).
Pour en savoir plus sur la sélection de la région appropriée, consultez Régions et zones disponibles et Point de terminaison régional.
Sélectionnez la Version du métastore Hive.
Si cette valeur n'est pas modifiée, votre service utilise la dernière version compatible de Hive (actuellement la version
3.1.2
).Pour en savoir plus sur la sélection de la version appropriée, consultez les Règles de versions.
Sélectionnez la version disponible.
Si cette valeur n'est pas modifiée, votre metastore utilise la valeur
Stable
. Pour en savoir plus, consultez Canal de publication.Saisissez le port TCP.
Port TCP auquel votre point de terminaison Thrift se connecte. Si cette valeur n'est pas modifiée, le numéro de port
9083
est utilisé. Si vous remplacez votre point de terminaison par gRPC, cette valeur passe automatiquement à443
et ne peut pas être modifiée.(Facultatif) Pour Dataproc Metastore 1 : Sélectionnez le niveau de service.
Le niveau de service a une incidence sur la capacité de votre service. Pour en savoir plus, consultez Niveau de service.
Protocole du point de terminaison
Facultatif : Choisissez un protocole de point de terminaison.
L'option Apache Thrift est sélectionnée par défaut. Pour en savoir plus sur les différents points de terminaison, consultez Choisir le protocole du point de terminaison.
Configuration du réseau
Sélectionnez une configuration réseau.
Par défaut, votre service n'est exposé que dans un seul réseau VPC et utilise le réseau
default
. Le réseaudefault
permet uniquement à votre service de se connecter à d'autres services du même projet.Modifiez les paramètres réseau par défaut pour effectuer les actions suivantes :
- Connectez votre service Dataproc Metastore à des services Dataproc Metastore dans d'autres projets.
- Utilisez votre service Dataproc Metastore avec d'autres servicesGoogle Cloud , tels que le cluster Dataproc.
Facultatif : Cliquez sur Utiliser un réseau VPC partagé, puis saisissez l'ID du projet et le nom du réseau VPC.
Facultatif : Cliquez sur Rendre les services accessibles dans plusieurs sous-réseaux VPC, puis sélectionnez les sous-réseaux. Vous pouvez spécifier jusqu'à cinq sous-réseaux.
Cliquez sur OK.
Intégration des métadonnées
Facultatif: Activez la synchronisation avec Data Catalog.
Pour en savoir plus, consultez Synchronisation de Dataproc Metastore vers Data Catalog.
Intervalle de maintenance
Facultatif : sélectionnez le jour de la semaine et l'heure de la journée pour votre intervalle de maintenance.
Pour en savoir plus, consultez Intervalles de maintenance.
Sécurité
Facultatif : Activez Kerberos.
- Pour activer Kerberos, cliquez sur le bouton d'activation.
- Sélectionnez ou saisissez l'ID de ressource du secret.
- Vous pouvez soit utiliser la dernière version du secret, soit sélectionner une version plus ancienne.
Saisissez le principal Kerberos.
Il s'agit du compte principal alloué à ce service Dataproc Metastore.
Accédez au fichier de configuration krb5.
(Facultatif) Choisissez un type de chiffrement.
L'option sélectionnée par défaut est Google-managed encryption key.
Pour sélectionner une clé gérée par le client, cliquez sur Utiliser une clé de chiffrement gérée par le client (CMEK).
Pour en savoir plus, consultez la section Utiliser des clés de chiffrement gérées par le client.
Remplacements de configuration du metastore
Facultatif: pour appliquer un mappage au métastore Hive, cliquez sur + Ajouter des remplacements.
Configuration de la version auxiliaire
Facultatif : Pour ajouter une configuration de version auxiliaire, cliquez sur Activer.
Pour en savoir plus, consultez Versions auxiliaires.
Type de base de données
Facultatif : Choisissez un type de base de données.
Dans le champ Type de base de données, sélectionnez MySQL ou Spanner. MySQL est le type de base de données par défaut.
Pour en savoir plus sur le choix d'un type de base de données spécifique, consultez Types de bases de données.
Libellés
- Facultatif : Pour ajouter ou supprimer des libellés facultatifs décrivant vos métadonnées, cliquez sur + Ajouter des libellés.
Démarrer le service
Pour créer et démarrer le service, cliquez sur Envoyer.
Votre nouveau service de métastore s'affiche sur la page Dataproc Metastore. L'état indique Création en cours jusqu'à ce que le service soit prêt à être utilisé. Une fois la clé prête, son état passe à Active. Le provisionnement du service peut prendre quelques minutes.
CLI gcloud
Pour créer un metastore, exécutez la commande
gcloud metastore services create
suivante :gcloud metastore services create SERVICE \ --location=LOCATION \ --instance-size=INSTANCE_SIZE \ --scaling-factor=SCALING_FACTOR \ --port=PORT \ --tier=TIER \ --endpoint-protocol=ENDPOINT_PROTOCOL \ --database-type=DATABASE_TYPE \ --hive-metastore-version=HIVE_METASTORE_VERSION \ --data-catalog-sync=DATA_CATALOG_SYNC \ --release-channel=RELEASE_CHANNEL \ --hive-metastore-configs=METADATA_OVERRIDE \ --labels=LABELS \ --auxiliary-versions=AUXILIARY_VERSION \ --network=NETWORK \ --consumer-subnetworks="projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET1, projects/PROJECT_ID/regions/LOCATION/subnetworks/SUBNET2" \ --kerberos-principal=KERBEROS_PRINCIPAL \ --krb5-config=KRB5_CONFIG \ --keytab=CLOUD_SECRET \ --encryption-kms-key=KMS_KEY
Remplacez les éléments suivants :
Paramètres des services :
SERVICE
: nom de votre nouveau service Dataproc Metastore.LOCATION
: région Google Cloud dans laquelle vous souhaitez créer votre Dataproc Metastore. Vous pouvez également définir un emplacement par défaut.PORT
: (facultatif) port TCP utilisé par votre point de terminaison Thrift. Si ce paramètre n'est pas défini, le port9083
est utilisé. Si vous choisissez d'utiliser un point de terminaison gRPC, votre numéro de port est automatiquement remplacé par443
.TIER
: facultatif pour Dataproc Metastore 1 : Niveau de service de votre nouveau service. Si ce paramètre n'est pas défini, la valeurDeveloper
est utilisée.ENDPOINT_PROTOCOL
: Facultatif : choisissez le protocole de point de terminaison pour votre service.DATABASE_TYPE
: facultatif : choisissez le type de base de données pour votre service. Pour en savoir plus sur le choix d'un type de base de données spécifique, consultez Types de bases de données.DATA_CATALOG_SYNC
: (facultatif) activez la fonctionnalité Synchronisation avec Data Catalog.HIVE_METASTORE_VERSION
: facultatif : version du metastore Hive que vous souhaitez utiliser avec votre service. Exemple :3.1.2
. Si elle n'est pas définie, la dernière version de Hive est utilisée.RELEASE_CHANNEL
: (facultatif) version disponible du service. Si ce paramètre n'est pas défini, la valeurStable
est utilisée.METADATA_OVERRIDE
: (facultatif) configurations de remplacement du métastore Hive que vous souhaitez appliquer à votre service. Utilisez une liste séparée par des virgules au format suivant :k1=v1,k2=v2,k3=v3
.LABELS
: facultatif : paires clé/valeur permettant d'ajouter des métadonnées à votre service. Utilisez une liste séparée par des virgules au format suivant :k1=v1,k2=v2,k3=v3
. Dataproc MetastoreAUXILIARY_VERSION
: (facultatif) active les versions auxiliaires. Pour en savoir plus, consultez Versions auxiliaires.
Paramètres de scaling :
INSTANCE_SIZE
: facultatif pour Dataproc Metastore 2 : la taille de l'instance de votre Dataproc Metastore multirégional. Par exemple,small
,medium
oularge
. Si vous spécifiez une valeur pourINSTANCE_SIZE
, ne spécifiez pas de valeur pourSCALING_FACTOR
.SCALING_FACTOR
: facultatif pour Dataproc Metastore 2 : facteur de scaling de votre service Dataproc Metastore. Par exemple,0.1
. Si vous spécifiez une valeur pourSCALING_FACTOR
, ne spécifiez pas de valeur pourINSTANCE_SIZE
.
Paramètres réseau :
NETWORK
: nom du réseau VPC auquel vous connectez votre service. Si ce paramètre n'est pas défini, la valeurdefault
est utilisée.Si vous utilisez un réseau VPC appartenant à un projet différent de celui de votre service, vous devez fournir l'intégralité du nom de ressource relatif. Par exemple,
projects/HOST_PROJECT/global/networks/NETWORK_ID
.SUBNET1
,SUBNET2
: facultatif, liste des sous-réseaux pouvant accéder à votre service. Vous pouvez utiliser l'ID, l'URL complète ou le nom relatif du sous-réseau. Vous pouvez spécifier jusqu'à cinq sous-réseaux.
Paramètres Kerberos :
KERBEROS_PRINCIPAL
: (facultatif) principal Kerberos existant dans le fichier keytab et le KDC. Un principal se présente généralement sous la forme "primary/instance@REALM", mais il n'existe pas de format strictement défini.KRB5_CONFIG
: (facultatif) le fichier krb5.config spécifie les informations du KDC et du domaine Kerberos, qui incluent les emplacements des KDC et les valeurs par défaut du domaine et des applications Kerberos.CLOUD_SECRET
: (facultatif) nom de ressource relatif d'une version de secret Secret Manager.KMS_KEY
: ID de ressource de la clé (facultatif).
Vérifiez que la création a réussi.
REST
Suivez les instructions de l'API pour créer un service à l'aide de l'explorateur d'API.
Définir un remplacement de configuration du métastore Hive pour Dataproc Metastore
Si votre répertoire d'entrepôt Apache Hive se trouve sur Cloud Storage, vous devez définir un remplacement de configuration du métastore. Ce remplacement définit votre entrepôt de données personnalisé comme répertoire d'entrepôt par défaut pour votre service Dataproc Metastore.
Avant de définir ce remplacement, assurez-vous que votre service Dataproc Metastore dispose d'autorisations de lecture et d'écriture d'objets pour accéder au répertoire de l'entrepôt. Pour en savoir plus, consultez la section Répertoire d'entrepôt Hive.
Les instructions suivantes vous montrent comment définir un remplacement de configuration Hive Metastore pour un nouveau service Dataproc Metastore.
Console
Dans la console Google Cloud , ouvrez la page Dataproc Metastore :
Dans la barre de navigation, cliquez sur + Créer.
Dans Remplacements de la configuration du metastore, saisissez les valeurs suivantes :
- Clé :
hive.metastore.warehouse.dir
. - Valeur : emplacement Cloud Storage de votre répertoire d'entrepôt.
Exemple :
gs://my-bucket/path/to/location
.
- Clé :
Configurez les options de service restantes si nécessaire ou utilisez les valeurs par défaut fournies.
Cliquez sur Envoyer.
Revenez à la page Dataproc Metastore et vérifiez que votre service a bien été créé.
CLI gcloud
Pour créer un service Dataproc Metastore avec un remplacement Hive, exécutez la commande
gcloud metastore services create
suivante :gcloud metastore services create SERVICE \ --location=LOCATION \ --hive-metastore-configs="hive.metastore.warehouse.dir=CUSTOMER_DIR"
Remplacez les éléments suivants :
SERVICE
: nom de votre nouveau service Dataproc Metastore.LOCATION
: région Google Cloud dans laquelle vous souhaitez créer votre Dataproc Metastore. Vous pouvez également définir un emplacement par défaut.CUSTOMER_DIR
: emplacement Cloud Storage de votre répertoire d'entrepôt. Exemple :gs://my-bucket/path/to/location
.
Vérifiez que la création a réussi.
Créer un Dataproc Metastore avec autoscaling
Dataproc Metastore 2 est compatible avec l'autoscaling. Si vous activez l'autoscaling, vous pouvez définir un facteur de scaling minimal et un facteur de scaling maximal. Une fois cette valeur définie, votre service augmente ou diminue automatiquement le facteur de scaling nécessaire à l'exécution de vos charges de travail.
Considérations relatives à l'autoscaling
- L'autoscaling et les facteurs de scaling sont des options qui s'excluent mutuellement. Par exemple, si vous activez l'autoscaling, vous ne pouvez pas définir manuellement un facteur ou une taille de scaling.
- L'autoscaling n'est disponible que pour les instances Dataproc Metastore à région unique.
- Lorsque l'autoscaling est activé, les paramètres de facteurs de scaling existants sont effacés.
- Lorsque l'autoscaling est désactivé :
- Les paramètres d'autoscaling existants sont effacés.
- Le facteur de scaling est défini sur la dernière valeur
autoscaling_factor
configurée sur le service.
- Les facteurs d'autoscaling minimal et maximal sont facultatifs. Si elles ne sont pas définies, les valeurs par défaut sont respectivement
0.1
et6
.
Sélectionnez l'un des onglets suivants pour découvrir comment créer un service Dataproc Metastore 2 avec l'autoscaling activé.
Console
Dans la console Google Cloud , accédez à la page Dataproc Metastore.
Dans la barre de navigation, cliquez sur + Créer.
La boîte de dialogue Créer un service Metastore s'ouvre.
Sélectionnez Dataproc Metastore 2.
Dans la section Tarifs et capacité, sélectionnez Enterprise – Région unique.
Sous Taille de l'instance, cliquez sur Activer l'autoscaling.
Sous Taille de l'instance, utilisez le curseur pour choisir une taille d'instance minimale et maximale.
Pour créer et démarrer le service, cliquez sur Envoyer.
Votre nouveau service de métastore s'affiche sur la page Dataproc Metastore. L'état indique Création en cours jusqu'à ce que le service soit prêt à être utilisé. Une fois la clé prête, son état passe à Active. Le provisionnement du service peut prendre quelques minutes.
REST
curl -X POST -s -i -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-d '{"scaling_config":{"autoscaling_config":{"autoscaling_enabled": true,"limit_config":{"max_scaling_factor":MAX_SCALING_FACTOR,"min_scaling_factor": MIN_SCALING_FACTOR}}}}' \
-H "Content-Type:application/json" \
https://metastore.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/services?service_id=SERVICE_ID
Remplacez les éléments suivants :
MIN_INSTANCES
(facultatif) : nombre minimal d'instances à utiliser dans votre configuration d'autoscaling. Si ces valeurs ne sont pas spécifiées, la valeur par défaut0.1
est utilisée.MAX_INSTANCES
Facultatif : nombre maximal d'instances à utiliser dans votre configuration d'autoscaling. Si ces valeurs ne sont pas spécifiées, la valeur par défaut6
est utilisée.
Créer un service Dataproc Metastore multirégional
Pour créer un Dataproc Metastore multirégional, consultez Configurer un service Dataproc Metastore multirégional.
Créer un service Dataproc Metastore à l'aide du VPC partagé
Un VPC partagé vous permet de connecter des ressources Dataproc Metastore provenant de plusieurs projets à un réseau VPC commun.
Pour créer un service Dataproc Metastore configuré avec un VPC partagé, consultez Créer un service à l'aide des paramètres avancés.
Remarques
Les réseaux VPC ne sont pas pertinents pour les services Dataproc Metastore configurés avec le protocole de point de terminaison gRPC.
Pour les services Dataproc Metastore configurés avec le protocole de point de terminaison Thrift, assurez-vous que votre service Dataproc Metastore et le cluster Dataproc auquel il est associé utilisent le même réseau VPC partagé.
Pour les services Dataproc Metastore configurés avec le protocole de point de terminaison Thrift et Private Service Connect, assurez-vous d'utiliser des sous-réseaux du réseau VPC partagé.
Rôles IAM requis pour les réseaux VPC partagés
Pour créer un service Dataproc Metastore avec un VPC accessible dans un réseau appartenant à un autre projet, vous devez accorder le rôle roles/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"
Résoudre les problèmes courants
Voici quelques problèmes courants :
Limiter l'appairage de VPC Avant de créer un metastore, ne définissez pas de contrainte de règle d'administration pour limiter l'appairage VPC, sinon la création du metastore échouera. Pour en savoir plus sur la configuration correcte du VPC, consultez Échec de la création du service en raison d'une contrainte limitant l'appairage VPC.
Problèmes liés aux réseaux VPC Lorsque vous créez un metastore, le réseau VPC que vous utilisez peut manquer d'adresses RFC 1918 disponibles requises par les services Dataproc Metastore. Pour savoir comment résoudre ce problème, consultez La plage d'adresses IP allouée est épuisée.
Étapes suivantes
- Associer un cluster Dataproc
- Mettre à jour et supprimer un service
- Importer des métadonnées dans un service