Associer un cluster Dataproc ou un cluster autogéré

Une fois que vous avez créé un service Dataproc Metastore, vous pouvez associer l'un des services suivants:

Une fois que vous avez connecté l'un de ces services, il utilise votre service Dataproc Metastore comme métastore Hive lors de l'exécution de la requête.

Avant de commencer

Rôles requis

Pour obtenir les autorisations nécessaires pour créer un cluster Dataproc Metastore et un cluster Dataproc, demandez à votre administrateur de vous attribuer les rôles IAM suivants:

Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Ces rôles prédéfinis contiennent les autorisations requises pour créer un cluster Dataproc Metastore et un cluster Dataproc. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer un cluster Dataproc Metastore et un cluster Dataproc:

  • Pour créer un service Dataproc Metastore : metastore.services.create sur le compte utilisateur ou le compte de service
  • Pour créer un cluster Dataproc : dataproc.clusters.create sur le compte utilisateur ou le compte de service
  • Pour accéder au répertoire de l'entrepôt Hive : orgpolicy.policy.get1,resourcemanager.projects.get,resourcemanager.projects.list,storage.objects.*,storage.multipartUploads.* sur le compte de service de la VM Dataproc

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Pour en savoir plus sur les rôles et autorisations spécifiques de Dataproc Metastore, consultez la page Gérer l'accès avec IAM.

Clusters Dataproc

Dataproc est un service géré Apache Spark et Apache Hadoop qui vous permet de bénéficier d'outils de données Open Source pour le traitement par lot, l'interrogation, les flux de données et le machine learning.

Points à prendre en compte

Avant de créer et d'associer un cluster Dataproc, vérifiez le protocole de point de terminaison utilisé par votre service Dataproc Metastore. Ce protocole définit la manière dont vos clients Hive Metastore accèdent aux métadonnées stockées dans Dataproc Metastore. Ce choix peut également affecter les fonctionnalités que vous pouvez intégrer et utiliser avec votre service.

Apache Thrift

Si vous utilisez le protocole de point de terminaison Apache Thrift, tenez compte des exigences réseau suivantes:

  • Par défaut, vous devez créer votre cluster Dataproc et votre service Dataproc Metastore sur le même réseau. Votre cluster Dataproc peut également utiliser un sous-réseau du réseau du service Dataproc Metastore.

  • Si votre cluster Dataproc appartient à un projet différent du réseau, vous devez configurer les autorisations du réseau partagé.

  • Si votre cluster Dataproc appartient à un projet différent de celui de votre service Dataproc Metastore, vous devez configurer des autorisations supplémentaires avant de créer un cluster Dataproc.

gRPC

Si vous utilisez le protocole de point de terminaison gRPC, tenez compte des exigences réseau suivantes:

Créer un cluster et associer un Dataproc Metastore

Les instructions suivantes vous expliquent comment créer un cluster Dataproc et vous y connecter à partir d'un service Dataproc Metastore. Dans ces instructions, nous partons du principe que vous avez déjà créé un service Dataproc Metastore.

  • Avant de créer votre cluster Dataproc, assurez-vous que l'image Dataproc que vous choisissez est compatible avec la version du métastore Hive que vous avez sélectionnée lors de la création du service. Pour en savoir plus, consultez la liste des versions d'image Dataproc.
  • Pour optimiser la connectivité réseau, créez le cluster Dataproc dans la même région que votre service Dataproc Metastore.

Console

  1. Dans la console Google Cloud, ouvrez la page Dataproc Créer un cluster:

    Ouvrez Créer un cluster.

  2. Dans le champ Nom du cluster, saisissez un nom pour votre cluster.

  3. Pour les menus Région et Zone, sélectionnez la même région dans laquelle vous avez créé votre service Dataproc Metastore. Vous pouvez choisir n'importe quelle zone.

  4. Cliquez sur l'onglet Personnaliser le cluster.

  5. Dans la section Configuration du réseau, sélectionnez le réseau dans lequel vous avez créé votre service Dataproc Metastore.

  6. Dans la section Dataproc Metastore, sélectionnez le service Dataproc Metastore que vous souhaitez associer. Si vous n'en avez pas encore créé, vous pouvez sélectionner Create New Service (Créer un service).

  7. Facultatif: Si votre service Dataproc Metastore utilise le protocole de point de terminaison gRPC:

    1. Cliquez sur l'onglet Gérer la sécurité.
    2. Dans la section Projet Acesss, sélectionnez Active le champ d'application cloud-platform pour ce cluster.
  8. Configurez les options de service restantes selon vos besoins.

  9. Pour créer le cluster, cliquez sur Créer.

    Votre nouveau cluster apparaît dans la liste des clusters. L'état du cluster indique Provisionnement jusqu'à ce qu'il soit prêt à être utilisé. Une fois prêt à l'emploi, l'état passe à Running (En cours d'exécution).

gcloud CLI

Pour créer un cluster et l'associer à Dataproc Metastore, exécutez la commande gcloud dataproc clusters create suivante:

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

Remplacez les éléments suivants :

  • CLUSTER_NAME: nom de votre nouveau cluster Dataproc.
  • PROJECT_ID: ID du projet dans lequel vous avez créé votre service Dataproc Metastore.
  • LOCATION: région dans laquelle vous avez créé votre service Dataproc Metastore.
  • SERVICE: nom du service Dataproc Metastore que vous associez au cluster.
  • SCOPES (facultatif) : si votre service Dataproc Metastore utilise le protocole de point de terminaison gRPC, utilisez cloud-platform.

REST

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

Associer un cluster à l'aide des propriétés de cluster Dataproc

Vous pouvez également associer un cluster Dataproc à un Dataproc Metastore à l'aide des propriétés Dataproc. Ces propriétés incluent les éléments Dataproc Metastore ENDPOINT_URI et WAREHOUSE_DIR.

Suivez ces instructions si votre service Dataproc Metastore utilise Private Service Connect ou si vous souhaitez associer un cluster Dataproc à la version auxiliaire de votre service Dataproc Metastore.

Il existe deux méthodes pour associer un cluster Dataproc à l'aide des propriétés ENDPOINT_URI et WAREHOUSE_DIR:

Option 1: Lors de la création d'un cluster Dataproc

Lorsque vous créez un cluster Dataproc, utilisez l'option de propriétés avec la configuration Hive suivante.

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

Remplacez les éléments suivants :

Option 2: Mettre à jour le fichier hive-site.xml

Vous pouvez également associer un cluster Dataproc en modifiant directement le fichier hive-site.xml du cluster.

  1. Connectez-vous au cluster .*-m à l'aide de SSH.
  2. Ouvrez le fichier /etc/hive/conf/hive-site.xml et modifiez les lignes suivantes:

    <property>
       <name>hive.metastore.uris</name>
       <!-- Update this value. -->
       <value>ENDPOINT_URI</value>
    </property>
    <!-- Add this property entry. -->
    <property>
       <name>hive.metastore.warehouse.dir</name>
       <value>WAREHOUSE_DIR</value>
    </property>
    

    Remplacez les éléments suivants :

  3. Redémarrez HiveServer2.

    sudo systemctl restart hive-server2.service
    

Clusters autogérés

Un cluster autogéré peut être une instance Apache Hive, Apache Spark ou Presto.

Associer un cluster autogéré

Définissez les valeurs suivantes dans votre fichier de configuration client:

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

Remplacez les éléments suivants :

Étapes suivantes