Associer un cluster Dataproc ou autogéré

Après avoir créé un service Dataproc Metastore, vous pouvez créer et associer un cluster Dataproc qui utilise le service en tant que métastore Hive.

Vous pouvez également joindre un compte autogéréApache Hive/Apache Spark/Presto Cluster utilisant le service Dataproc Metastore en tant que métastore Hive en modifiant la configuration du client.

Avant de commencer

  • Pour une connectivité réseau optimale, créez le cluster Dataproc dans la même région que le service Dataproc Metastore.

  • L'image Dataproc et la version Dataproc Metastore Hive doivent être compatibles. Vérifiez les pages suivantes de la gestion des versions d'image pour vous assurer que la version Hive est compatible:

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

  • Pour utiliser un service Dataproc Metastore, y compris un service du même projet que le cluster Dataproc, le cluster et le métastore doivent se trouver sur le même réseau.

    • Vous pouvez associer un service Dataproc Metastore à n'importe quel cluster Dataproc sur l'ensemble du réseau appairé en fournissant les paramètres de configuration de la propriété Hive suivants lorsque vous utilisez gcloud dataproc clusters create CLUSTER_NAME.

      gcloud dataproc clusters create CLUSTER_NAME \
          --properties="hive:hive.metastore.uris=$ENDPOINT_URI,hive:hive.metastore.warehouse.dir=$WAREHOUSE_DIR/hive-warehouse"
      

      Consultez la section Associer un cluster autogéré qui utilise le service Dataproc Metastore.

    • Un cluster peut également utiliser un sous-réseau du réseau du métastore. Pour créer un cluster à l'aide d'un sous-réseau du projet réseau, vous devez configurer les autorisations réseau partagées.

Contrôle des accès

  • Assurez-vous que votre compte de service de VM Dataproc dispose d'autorisations de lecture/écriture sur les objets pour accéder au répertoire de l'entrepôt Dataproc Metastore. Pour en savoir plus, consultez le répertoire de l'entrepôt Hive.

  • Si vous travaillez sur un déploiement multiprojet, vous devez configurer des autorisations supplémentaires avant de créer un cluster Dataproc Metastore. Un déploiement multiprojet peut comprendre deux à trois projets. Le cluster Dataproc d'un projet de cluster, le service Dataproc Metastore d'un projet Metastore et le réseau de l'un des deux projets précédents ou dans son propre projet de réseau. Il est également possible que le cluster Dataproc et le service Dataproc Metastore partagent un projet lorsque le réseau est dans son propre projet réseau.

    Le schéma suivant présente les configurations de projet possibles lors du déploiement d'un cluster Dataproc Metastore:

    Présentation des configurations de projet possibles lors du déploiement d'un cluster Dataproc Metastore et Dataproc

    • Lorsque vous utilisez un réseau VPC appartenant à un projet différent du service, vous devez fournir le nom de ressource relatif complet dans gcloud metastore services create SERVICE.

      gcloud metastore services create SERVICE \
          --network=projects/HOST_PROJECT/global/networks/NETWORK_ID
      

Associer un cluster Dataproc utilisant le service Dataproc Metastore

Vous pouvez créer et associer un cluster Dataproc qui utilise le service Dataproc Metastore en tant que métastore Hive.

Configurer un déploiement multiprojet

Les déploiements multiprojets dans lesquels le cluster Dataproc et le service Dataproc Metastore se trouvent dans des projets distincts nécessitent une configuration des autorisations. Vous n'avez pas besoin d'effectuer cette configuration pour les cas où le cluster Dataproc et le service Dataproc Metastore partagent un projet lorsque le réseau est dans son propre projet réseau.

Après avoir configuré les autorisations réseau, vous devez attribuer le rôle Lecteur de Dataproc Metastore dans le projet de métastore à l'agent de service Dataproc du projet de cluster. Le compte de l'agent de service Dataproc est au format service-<cluster-project-number>@dataproc-accounts.iam.gserviceaccount.com. Vous devez référencer le numéro du projet du cluster.

Console

Pour trouver le numéro du projet, procédez comme suit:

  1. Accédez à l'onglet Paramètres d'IAM et administration.

  2. Dans la liste des projets en haut de la page, sélectionnez le projet que vous utiliserez pour créer le cluster Dataproc.

  3. Notez le numéro du projet.

Configurez les autorisations:

  1. Accédez à l'onglet IAM.

  2. Dans la liste des projets en haut de la page, sélectionnez le projet de métastore.

  3. Cliquez sur Ajouter.

    1. Saisissez le compte de service dans le champ Nouveaux membres.

    2. Dans le menu "Rôles", sélectionnez Dataproc Metastore > Dataproc Metastore Viewer.

    3. Cliquez sur Ajouter.

Vous pouvez maintenant créer un cluster Dataproc à l'aide du service et du réseau Dataproc Metastore du projet Metastore sur lequel se trouve le service.

Créer un cluster Dataproc

Les instructions suivantes montrent comment créer et associer un cluster Dataproc.

Console

  1. Dans Cloud Console, ouvrez la page Dataproc Create a cluster (Créer un cluster) :

    Ouvrir la page "Créer un cluster" dans Cloud Console

  2. Saisissez le champ Cluster Name (Nom du cluster).

  3. Dans les menus Région et Zone, sélectionnez une région et une zone pour le cluster. Vous pouvez sélectionner une région distincte pour isoler les ressources et les emplacements de stockage de métadonnées dans la région spécifiée. Si vous sélectionnez une région distincte, vous pouvez sélectionner "Aucune préférence" pour la zone afin de laisser Dataproc choisir une zone au sein de la région sélectionnée pour votre cluster (consultez la sectionSélection de zone automatique Dataproc à

  4. Cliquez sur l'onglet Customize cluster (Personnaliser le cluster).

  5. Dans la section Configuration du réseau, sélectionnez le même réseau que celui spécifié lors de la création du service de métastore.

  6. Dans la section Dataproc Metastore, sélectionnez votre service de métastore. Si vous n'en avez pas encore créé, vous pouvez sélectionner Créer un service.

  7. Cliquez sur Créer pour créer le cluster.

Votre nouveau cluster apparaît dans la liste des clusters. L'état du cluster est défini sur "Provisionnement" jusqu'à ce qu'il soit prêt à être utilisé. Son état passe alors à "Running" (En cours d'exécution).

gcloud

Exécutez la commande gcloud dataproc clusters create suivante pour créer un cluster:

 gcloud dataproc clusters create CLUSTER_NAME \
    --dataproc-metastore=projects/PROJECT_ID/locations/LOCATION/services/SERVICE \
    --region=LOCATION
 

Remplacez CLUSTER_NAME par le nom du nouveau cluster.

Remplacez PROJECT_ID par l'ID du projet dans lequel vous avez créé votre service Dataproc Metastore.

Remplacez LOCATION par la région que vous avez spécifiée pour le service Dataproc Metastore.

Remplacez SERVICE par le nom du service Dataproc Metastore.

REST

Suivez les instructions de l'API pour créer un cluster à l'aide de l'explorateur d'API.

Associer un cluster autogéré qui utilise le service Dataproc Metastore

Après avoir créé un service, vous pouvez également choisir d'associer un cluster Apache Hive, Apache Spark ou Presto autogéré qui utilise le service en tant que métastore Hive en définissant les paramètres suivants dans la configuration du client:

hive.metastore.uris=ENDPOINT_URI
hive.metastore.warehouse.dir=WAREHOUSE_DIR

Remplacez les éléments suivants :

  • ENDPOINT_URI : URI du point de terminaison du métastore Hive permettant d'accéder au service de métastore.

    Pour trouver la valeur d'URI du point de terminaison à utiliser, cliquez sur le nom du service de votre service sur la page Dataproc Metastore. Vous accédez alors à la page Service detail (Informations sur le service) de ce service, où vous pouvez utiliser la valeur URL commençant par thrift://.

  • WAREHOUSE_DIR : fait référence au répertoire des remplacements de configuration du métastore Hive. Il peut se présenter sous la forme suivante : gs://.*hive-warehouse.

    Pour trouver le répertoire d'entrepôt à utiliser, cliquez sur le nom du service de votre service sur la page Dataproc Metastore. Vous accédez alors à la page Service detail (Informations sur le service) de ce service, où vous pouvez utiliser la valeur hive.metastore.warehouse.dir sous Metastore config overrides (remplacements de configuration du métastore).

Valeurs URL et hive.metastore.warehouse.dir sur la page &quot;Informations sur le service&quot;

Étape suivante