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. Un cluster peut également utiliser un sous-réseau du réseau du service Dataproc Metastore. Si le cluster Dataproc appartient à un projet différent de celui du réseau, vous devez configurer les autorisations réseau partagées.

  • Notez que si vous utilisez des clusters d'authentification personnels, vous devez utiliser un métastore compatible avec gRPC. Pour savoir comment convertir votre métastore vers gRPC ou créer un métastore basé sur gRPC, consultez Choisir le protocole de point de terminaison.

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 Google Cloud Console, ouvrez la page Dataproc Create a cluster (Créer un cluster) :

    Ouvrir la page "Créer un cluster" dans Google 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 les éléments suivants :

  • CLUSTER_NAME : nom du nouveau cluster
  • PROJECT_ID : ID du projet dans lequel vous avez créé votre service Dataproc Metastore.
  • LOCATION: région que vous avez spécifiée pour le service Dataproc Metastore.
  • SERVICE : 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 Dataproc à l'aide de ENDPOINT_URI et de WAREHOUSE_DIR

Vous pouvez associer un cluster Dataproc à l'aide des propriétés ENDPOINT_URI et WAREHOUSE_DIR. Cette méthode est utile si votre service Dataproc Metastore utilise Private Service Connect ou si vous souhaitez associer la version auxiliaire de votre service Dataproc Metastore.

Pour en savoir plus sur ces propriétés et découvrir où les trouver, consultez Associer un cluster autogéré.

Vous pouvez associer un cluster Dataproc de deux manières à l'aide des propriétés ENDPOINT_URI et WAREHOUSE_DIR:

  • Option 1:Fournissez la configuration de propriété Hive suivante lors de la création du cluster Dataproc.

    1. Exécutez la commande gcloud dataproc clusters create suivante :

         gcloud dataproc clusters create CLUSTER_NAME \
             --properties="hive:hive.metastore.uris=$ENDPOINT_URI,hive:hive.metastore.warehouse.dir=$WAREHOUSE_DIR/hive-warehouse"
      
  • Option 2:mettez à jour l'élément hive-site.xml sur le cluster Dataproc avec l'URI du point de terminaison répertorié dans NetworkConfig.

    1. Connectez-vous en SSH à l'instance maître du cluster Dataproc et procédez comme suit:

      1. Modifiez le fichier /etc/hive/conf/hive-site.xml sur le cluster Dataproc.

        <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>
        
      2. Redémarrez HiveServer2.

        sudo systemctl restart hive-server2.service
        

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;

Étapes suivantes