Installer un cluster Dataproc ou autogéré

Après avoir créé un service Dataproc Metastore, vous pouvez associer l'un des éléments suivants pour utiliser le service comme son métastore Hive:

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. Consultez les pages de gestion des versions d'images suivantes pour vous assurer que la version Hive est compatible:

    Pour en savoir plus, consultez la liste des versions d'image 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 à tout cluster Dataproc sur l'ensemble du réseau appairé en fournissant la 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é.

    • 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 de 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 d'objets pour accéder au répertoire d'entrepôt Dataproc Metastore. Pour en savoir plus, consultez la section Répertoire d'entrepôt Hive.

  • Si vous travaillez avec un déploiement inter-projets, vous devez configurer des autorisations supplémentaires avant de créer un cluster Dataproc Metastore. Un déploiement inter-projets peut comporter deux à trois projets, avec le cluster Dataproc dans un projet de cluster, le service Dataproc Metastore dans un projet de métastore et le réseau dans 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 alors que le réseau se trouve dans son propre projet de 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 et d'un Metastore Dataproc

    • Lorsque vous utilisez un réseau VPC appartenant à un projet différent de celui du service, vous devez indiquer l'intégralité du nom de ressource relatif dans gcloud metastore services create SERVICE.

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

Associer un cluster Dataproc

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 inter-projets

Les déploiements inter-projets 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 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 de réseau.

Après avoir configuré les autorisations réseau, vous devez attribuer le rôle Lecteur 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 de projet, procédez comme suit:

  1. Accédez à l'onglet Paramètres de IAM et admin.

  2. Dans la liste des projets en haut de la page, sélectionnez le projet que vous allez utiliser 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 comptes principaux.

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

    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.

Console

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

    Ouvrez 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 cette région. Si vous sélectionnez une région distincte, vous pouvez sélectionner "No preference" (Aucune préférence) pour la zone afin de laisser Dataproc choisir une zone dans la région sélectionnée pour votre cluster (consultez la page Sé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 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é. Son état devient alors "Running" (En cours d'exécution).

gcloud

Exécutez la commande gcloud dataproc clusters create ci-dessous 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é

Après avoir créé un service, vous pouvez associer un cluster Apache Hive, Apache Spark ou Presto autogéré qui utilise le service comme son 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