Lorsque vous créez un cluster, HDFS est utilisé comme système de fichiers par défaut. Vous pouvez ignorer ce comportement en définissant defaultFS comme bucket Cloud Storage. Par Dataproc crée également un environnement de préproduction Cloud Storage un bucket Cloud Storage temporaire dans votre projet ou réutilise des Buckets de préproduction et temporaires créés par Dataproc à partir du cluster précédent les demandes de création.
Bucket de préproduction : il permet de préparer les dépendances des tâches du cluster, le résultats du pilote de tâches et les fichiers de configuration du cluster. Le bucket de préproduction reçoit également les résultats de la commande gcloud dataproc clusters diagnose de la CLI gcloud.
Bucket temporaire : il permet de stocker des données éphémères associées au cluster et aux tâches, telles que les fichiers d'historique Spark et MapReduce.
Si vous ne spécifiez pas de bucket de préproduction ou temporaire lorsque vous créez un cluster, Dataproc définit un emplacement Cloud Storage aux États-Unis, en Asie, ou EU pour les buckets de préproduction et les buckets temporaires de votre cluster en fonction de la zone Compute Engine dans laquelle votre cluster est déployé. puis crée et gère ces buckets au niveau du projet et par emplacement. Les buckets de préproduction et temporaires créés par Dataproc sont partagés entre les clusters d'une même région et sont créés avec une durée de suppression réversible Cloud Storage définie sur 0 seconde.
Le bucket temporaire contient des données éphémères et a une valeur TTL de 90 jours. Le bucket de préproduction, qui peut contenir des données de configuration et les fichiers de dépendances requis par plusieurs clusters, ne comporte pas de valeur TTL. Cependant, vous pouvez appliquer une règle de cycle de vie vos fichiers de dépendances (fichiers avec l'extension ".jar" situés dans le dossier du bucket de préproduction) pour planifier la suppression de vos fichiers de dépendances nécessaires à vos clusters.
Créer vos propres buckets de préproduction et temporaires
Au lieu de compter sur la création d'un bucket de préproduction et d'un bucket temporaire par défaut, vous pouvez spécifier deux buckets Cloud Storage existants que Dataproc utilisera comme bucket de préproduction et comme bucket temporaire pour votre cluster.
Commande gcloud
Pour spécifier le bucket de préproduction et/ou le bucket temporaire de votre cluster, exécutez la commande gcloud dataproc clusters create
avec les options --bucket
et/ou --temp-bucket
en local dans une fenêtre de terminal ou dans Cloud Shell.
gcloud dataproc clusters create cluster-name \ --region=region \ --bucket=bucket-name \ --temp-bucket=bucket-name \ other args ...
API REST
Pour spécifier le bucket de préproduction et le bucket temporaire du cluster, utilisez les champs ClusterConfig.configBucket
et ClusterConfig.tempBucket
dans la requête clusters.create.
Console
Dans la console Google Cloud, ouvrez Dataproc Créer un cluster . Sélectionnez le panneau "Personnaliser le cluster", puis utilisez le champ "Stockage de fichiers" pour spécifier ou sélectionner le bucket de préproduction du cluster.
Remarque : Pour le moment, il n'est pas possible de spécifier le bucket temporaire à l'aide de la console Google Cloud.
Dataproc utilise une structure de dossiers définie pour les buckets Cloud Storage associés à des clusters. Dataproc permet également d'associer plusieurs clusters à un bucket Cloud Storage. La structure de dossiers utilisée pour enregistrer le résultat du pilote de tâches dans Cloud Storage est la suivante :
cloud-storage-bucket-name - google-cloud-dataproc-metainfo - list of cluster IDs - list of job IDs - list of output logs for a job
Vous pouvez utiliser l'outil de ligne de commande gcloud
, l'API Dataproc ou Google Cloud Console pour répertorier le nom du bucket de préproduction et le nom du bucket temporaire d'un cluster.
Console
- Affichez les détails du cluster, y compris le nom du bucket de préproduction du cluster, sur la Clusters Dataproc de la console Google Cloud.
- Dans la console Google Cloud Navigateur Cloud Storage , filtrez les résultats contenant "dataproc-temp-".
Commande gcloud
Exécutez la commande gcloud dataproc clusters describe
en local dans une fenêtre de terminal ou dans Cloud Shell.
Le bucket de préproduction et le bucket temporaire associés à votre cluster sont répertoriés dans les résultats.
gcloud dataproc clusters describe cluster-name \ --region=region \ ... clusterName: cluster-name clusterUuid: daa40b3f-5ff5-4e89-9bf1-bcbfec ... config: configBucket: dataproc-... ... tempBucket: dataproc-temp...
API REST
Appelez clusters.get pour répertorier les détails du cluster, y compris le nom de son bucket de préproduction et le nom de son bucket temporaire.
{ "projectId": "vigilant-sunup-163401", "clusterName": "cluster-name", "config": { "configBucket": "dataproc-...", ... "tempBucket": "dataproc-temp-...", }
defaultFS
Vous pouvez définir core:fs.defaultFS
sur un emplacement de bucket dans Cloud Storage (gs://defaultFS-bucket-name
) pour définir Cloud Storage comme le système de fichiers par défaut. Cela définit également core:fs.gs.reported.permissions
, l'autorisation signalée renvoyée par le connecteur Cloud Storage pour tous les fichiers, à 777
.
Si Cloud Storage n'est pas défini comme système de fichiers par défaut, HDFS est utilisé, et la propriété core:fs.gs.reported.permissions
renvoie 700
, la valeur par défaut.
gcloud dataproc clusters create cluster-name \ --properties=core:fs.defaultFS=gs://defaultFS-bucket-name \ --region=region \ --bucket=staging-bucket-name \ --temp-bucket=temp-bucket-name \ other args ...