Installer 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 associer un cluster Apache Hive/Apache Spark/Presto autogéré qui utilise le service Dataproc Metastore en tant qu'Hive. 101}metastore en modifiant la configuration du client.

Avant de commencer

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

  • L'image Dataproc et la version de Dataproc Metastore Hive doivent être compatibles:

    • Les images Dataproc 2.x nécessitent des services Dataproc Metastore créés avec Hive 3.1.2.

    • Les images Dataproc 1.x nécessitent des services Dataproc Metastore créés avec Hive 2.3.6 ou 3.1.2, mais fonctionnent de manière optimale avec la version 2.3.6.

    Pour en savoir plus sur les versions d'image Dataproc et sur la version Hive utilisée par une image Dataproc, consultez la page Gestion des versions de Dataproc.

  • Si vous travaillez avec un déploiement sur plusieurs projets, vous devez configurer des autorisations supplémentaires avant de créer un cluster Dataproc Metastore. Un déploiement multiprojet peut comporter entre deux et trois projets : le cluster Dataproc dans un projet de cluster, le service Dataproc Metastore dans un projet de métastore et le réseau de l'un des deux projets précédents. ou dans son propre projet réseau. Il est également possible que le cluster Dataproc et le service Dataproc Metastore partagent un projet alors que le réseau se trouve 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 d'un cluster Dataproc

    • Lorsque vous utilisez un réseau VPC appartenant à un projet différent de celui du service, le nom complet de la ressource doit être fourni lorsque vous utilisez gcloud metastore services create SERVICE.

      gcloud metastore services create SERVICE \
          --network=projects/HOST_PROJECT/global/networks/NETWORK_ID
      
  • Pour pouvoir utiliser n'importe quel service Dataproc Metastore, y compris l'un dans le 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 à tous les clusters Dataproc sur l'ensemble du réseau appairé. Pour ce faire, vous devez fournir la configuration de configuration de propriété Hive suivante 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é à l'aide du service Dataproc Metastore.

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

Associer un cluster Dataproc utilisant le service Dataproc Metastore

Après avoir créé un service, vous pouvez créer et associer un cluster Dataproc qui utilise le service en tant que métastore Hive à l'aide de Google Cloud Console, de l'outil gcloud ou de l'API Dataproc.

Configurer un déploiement entre plusieurs projets

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

Après avoir configuré les autorisations réseau, vous devez accorder le rôle de lecteur de métadonnées Dataproc 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 de cluster.

Console

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

  1. Accédez à l'onglet Settings (IAM et administration).

  2. Dans la liste des projets située 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 > Lecteur de métadonnées Dataproc.

    3. Cliquez sur Ajouter.

Vous pouvez maintenant créer un cluster Dataproc à l'aide du service Dataproc Metastore du projet de métastore et du réseau ou du sous-réseau sur lequel le service est activé.

Créer un cluster Dataproc

Les instructions suivantes montrent comment créer et associer un cluster Dataproc à l'aide de Google Cloud Console, de l'outil gcloud ou de l'API Dataproc Metastore.

Console

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

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

  2. Renseignez le champ 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 permettre à Dataproc de choisir une zone dans la région sélectionnée pour votre cluster (voirSélection automatique des zones de Dataproc ).

  4. Cliquez sur l'onglet 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 indique "Provisionnement" jusqu'à ce qu'il soit prêt à être utilisé, puis passe à "En cours d'exécution".

gcloud

Utilisez 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 ci-dessus 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é à l'aide du service Dataproc Metastore

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

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

Remplacez l'élément suivant :

  • 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