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:
- Un cluster Dataproc
- Un cluster autogéré Apache Hive, Apache Spark ou Presto
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:
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:
Accédez à l'onglet Paramètres de IAM et admin.
Dans la liste des projets en haut de la page, sélectionnez le projet que vous allez utiliser pour créer le cluster Dataproc.
Notez le numéro du projet.
Configurez les autorisations:
Accédez à l'onglet IAM.
Dans la liste des projets en haut de la page, sélectionnez le projet de métastore.
Cliquez sur Ajouter.
Saisissez le compte de service dans le champ Nouveaux comptes principaux.
Dans le menu "Rôles", sélectionnez Dataproc Metastore > Lecteur Dataproc Metastore.
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
Dans Google Cloud Console, ouvrez la page Dataproc Create a cluster (Créer un cluster) :
Saisissez le champ Cluster Name (Nom du cluster).
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).
Cliquez sur l'onglet Personnaliser le cluster.
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.
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.
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 clusterPROJECT_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.
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é dansNetworkConfig
.Connectez-vous en SSH à l'instance maître du cluster Dataproc et procédez comme suit:
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>
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).

Étapes suivantes
- Guide de démarrage rapide pour le déploiement de Dataproc Metastore
- Présentation de Dataproc Metastore
- Présentation de Dataproc