Créer un service

Pour créer un service Dataproc Metastore, saisissez les paramètres de service sur la page "Créer un service" ouverte dans un navigateur local ou utilisez l'outil gcloud. Vous pouvez aussi émettre une méthode API Dataproc Metastore services.create.

Lorsque vous créez un service, vous devez en spécifier la région. Consultez la section Emplacements cloud pour en savoir plus sur les emplacements compatibles avec Dataproc Metastore.

Des champs supplémentaires incluent la version du métastore, le réseau, le port et le niveau de service. Notez que si vous ne spécifiez pas de réseau, Dataproc Metastore utilise le réseau default dans le projet de service. Dataproc Metastore utilise une adresse IP privée. Ainsi, seules les VM d'un même réseau peuvent accéder au service Dataproc Metastore.

Avant de commencer

  • Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  • Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  • Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  • Activez l'API Dataproc Metastore.

    Activer l'API

  • La plupart des commandes gcloud metastore nécessitent un emplacement. Vous pouvez le spécifier à l'aide de l'option --location ou en définissant l'emplacement par défaut.

  • Ne définissez pas la contrainte de règle d'administration pour restreindre l'appairage de VPC. La spécification de constraints/compute.restrictVpcPeering entraîne l'échec de votre requête de création 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.

  • Si vous souhaitez activer Kerberos pour votre instance de métastore Hive, vous devez :

    • Héberger votre propre centre de distribution de clés Kerberos (KDC)
    • Configurer la connectivité IP entre le réseau VPC et votre KDC
    • Configurer un secret fournir par Secret Manager contenant le contenu d'un fichier keytab Hive
    • Spécifier un principal qui se trouve à la fois dans le KDC et dans l'onglet Hive Keytab
    • Spécifier un fichier krb5.conf dans un bucket Google Cloud Storage

    Pour en savoir plus, consultez la section Configurer Kerberos.

Configurer un VPC partagé

  • 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 les autorisations suivantes :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"
    

Contrôle des accès

  • Pour créer un service, vous devez disposer d'un rôle IAM contenant l'autorisation IAM metastore.services.create. Les rôles spécifiques à Dataproc Metastore roles/metastore.admin et roles/metastore.editor incluent l'autorisation de création.

  • Vous pouvez accorder des autorisations de création à des utilisateurs ou à des groupes à l'aide des anciens rôles roles/owner et roles/editor.

Pour en savoir plus, consultez la page IAM et contrôle des accès Dataproc Metastore.

Créer un service Dataproc Metastore

Les instructions suivantes montrent comment créer un service Dataproc Metastore.

Console

  1. Dans Cloud Console, ouvrez la page "Dataproc Metastore" :

    Ouvrir Dataproc Metastore dans Cloud Console

  2. En haut de la page Dataproc Metastore, cliquez sur le bouton Créer. La page Create service (Créer un service) s'ouvre.

    Page "Créer un service"
  3. Dans le champ Nom du service, saisissez un nom unique pour votre service. Pour en savoir plus sur la convention d'attribution de noms, consultez la section Convention d'attribution de noms aux ressources.

  4. Sélectionnez Data location (Emplacement des données).

  5. Sélectionnez la Version du métastore Hive. Si aucune valeur n'est spécifiée, la version de Hive 3.1.2 est utilisée. Pour en savoir plus, consultez la section Règles relatives aux versions.

  6. Sélectionnez la version disponible. Si aucune valeur n'est spécifiée, Stable est utilisé. Pour en savoir plus, consultez la section Version disponible.

  7. Indiquez le port. Il s'agit du port TCP sur lequel l'interface de Dataproc Metastore est disponible. S'il n'est pas défini, le numéro de port 9083 est utilisé.

  8. Sélectionnez le niveau de service. Ce paramètre a une incidence sur la capacité du service. Developer est le niveau par défaut. Il est adapté à une démonstration de faisabilité à faible coût, car il fournit une évolutivité limitée et aucune tolérance aux pannes. Le niveau Enterprise fournit une évolutivité flexible, une tolérance aux pannes et une haute disponibilité multizone. Il peut gérer d'importantes charges de travail Dataproc Metastore.

  9. Sélectionnez le réseau. Le service doit être associé au même réseau que d'autres clients Metastore, tels que le cluster Dataproc, pour y accéder. Si aucune valeur n'est fournie, le réseau default est utilisé.

    Facultatif: Cliquez sur Utiliser un réseau VPC partagé et saisissez l'ID de projet et le nom du réseau VPC du réseau VPC partagé. Pour en savoir plus, consultez la page VPC Service Controls avec Dataproc Metastore.

  10. (Facultatif) Activez la synchronisation avec Data Catalog. Pour en savoir plus, consultez la section Synchronisation Dataproc Metastore vers Data Catalog.

  11. Facultatif : sélectionnez le jour de la semaine et l'heure de la journée pour l'intervalle de maintenance du service. Pour plus d'informations, consultez la page Intervalles de maintenance.

  12. Facultatif : activez un fichier keytab Kerberos :

    1. Cliquez sur le bouton d'activation pour activer Kerberos.

    2. Sélectionnez ou saisissez l'ID de ressource du secret.

    3. Vous pouvez soit utiliser la dernière version du secret, soit sélectionner une version plus ancienne.

    4. Saisissez le principal Kerberos. Il s'agit du principal alloué à ce service Dataproc Metastore.

    5. Accédez au fichier de configuration krb5.

  13. Facultatif: Cliquez sur Utiliser une clé de chiffrement gérée par le client (CMEK) et sélectionnez une clé gérée par le client. Pour plus d'informations, consultez la page Utiliser des clés de chiffrement gérées par le client.

  14. Facultatif: Pour appliquer un mappage au métastore Hive, cliquez sur + Ajouter des remplacements.

  15. Facultatif: pour ajouter des métadonnées à la ressource du service de métastore, cliquez sur + Ajouter des étiquettes.

  16. Pour créer et démarrer le service, cliquez sur le bouton Submit (Envoyer).

  17. Vérifiez que vous êtes revenu sur la page Dataproc Metastore et que votre nouveau service apparaît dans la liste.

gcloud

  1. Exécutez la commande gcloud metastore services create suivante pour créer un service:

    gcloud metastore services create SERVICE \
        --location=LOCATION \
        --labels=k1=v1,k2=v2,k3=v3 \
        --network=NETWORK \
        --port=PORT \
        --tier=TIER \
        --hive-metastore-version=HIVE_METASTORE_VERSION \
        --release-channel=RELEASE_CHANNEL \
        --hive-metastore-configs=K1=V1,K2=V2 \
        --kerberos-principal=KERBEROS_PRINCIPAL \
        --krb5-config=KRB5_CONFIG \
        --keytab=CLOUD_SECRET
    

    Remplacez les éléments suivants :

    • SERVICE : nom du nouveau service.
    • LOCATION : fait référence à une région Google Cloud.
    • k1=v1,k2=v2,k3=v3 : libellés utilisés.
    • NETWORK: nom du réseau VPC sur lequel le service est accessible. Lorsque vous utilisez un réseau VPC appartenant à un projet différent du service, l'intégralité du nom de la ressource relative doit être fournie, par exemple projects/HOST_PROJECT/global/networks/NETWORK_ID.
    • PORT : port TCP sur lequel l'interface du métastore Thrift est disponible. Par défaut : 9083.
    • TIER : capacité du niveau du nouveau service.
    • HIVE_METASTORE_VERSION : versions du métastore Hive pouvant être utilisées lors de la création d'un service de métastore à cet emplacement. Le serveur garantit qu'un seul élément HiveMetastoreVersion de la liste est défini sur is_default.
    • RELEASE_CHANNEL: canal de publication du service.
    • K1=V1,K2=V2 : (facultatif) configurations du métastore Hive utilisées.
    • 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 fourni par Secret Manager.
  2. 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.

Utiliser des plages d'adresses IP privées non-RFC 1918

Le réseau VPC fourni peut manquer d'adresses RFC 1918 disponibles requises par les services Dataproc Metastore. Le cas échéant, 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:

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 incriminé et recréez ce dernier au bout de deux heures.

Après avoir créé un service Dataproc Metastore

Une fois que vous avez créé un service, vous pouvez créer etassocier un cluster Dataproc ou autogéréApache Hive/Apache Spark/Presto Cluster qui utilise le service comme métastore Hive

Étape suivante