Bucket temporanei e di gestione temporanea di Dataproc

Quando crei un cluster, HDFS viene utilizzato come file system predefinito. Puoi override questo comportamento impostando defaultFS come bucket Cloud Storage. Per impostazione predefinita, Dataproc crea anche un bucket di gestione temporanea e un bucket temporaneo Cloud Storage nel tuo progetto oppure riutilizza i bucket di gestione temporanea e temporanei creati da Dataproc da richieste di creazione di cluster precedenti.

  • Bucket temporaneo: utilizzato per eseguire la gestione temporanea delle dipendenze dei job del cluster, dell'output del driver dei job e dei file di configurazione del cluster. Riceve anche l'output del comando gcloud dataproc clusters diagnose gcloud CLI.

  • Bucket temporaneo: utilizzato per archiviare dati temporanei di cluster e job, come i file di cronologia di Spark e MapReduce.

Se non specifichi un bucket di staging o gestione temporanea quando crei un cluster, Dataproc imposta una posizione Cloud Storage negli Stati Uniti, in Asia o nell'UE per i bucket di staging e temporanei del cluster in base alla zona Compute Engine in cui è dipiegato il cluster, e poi crea e gestisce questi bucket a livello di progetto e per località. I bucket temporanei e di gestione temporanea creati da Dataproc vengono condivisi tra i cluster nella stessa regione e vengono creati con una durata di conservazione tramite eliminazione temporanea di Cloud Storage impostata su 0 secondi.

Il bucket temporaneo contiene dati effimeri e ha un TTL di 90 giorni. Il bucket di staging, che può contenere dati di configurazione e file di dipendenze necessari per più cluster, non ha un TTL. Tuttavia, puoi applicare una regola del ciclo di vita ai file delle dipendenze (file con estensione del nome ".jar" nella cartella del bucket di staging) per pianificare la rimozione dei file delle dipendenze quando non sono più necessari per i tuoi cluster.

Crea i tuoi bucket temporanei e di gestione temporanea

Anziché fare affidamento sulla creazione di un bucket gestione temporanea e gestione temporanea predefinito, puoi specificare i bucket Cloud Storage esistenti che Dataproc utilizzerà come bucket gestione temporanea e gestione temporanea del cluster.

Comando g-cloud

Esegui il comando gcloud dataproc clusters create con i flag --bucket e/o --temp-bucket in locale in una finestra del terminale o in Cloud Shell per specificare il bucket di staging e/o gestione temporanea del cluster.

gcloud dataproc clusters create cluster-name \
    --region=region \
    --bucket=bucket-name \
    --temp-bucket=bucket-name \
    other args ...

API REST

Utilizza i campi ClusterConfig.configBucket e ClusterConfig.tempBucket in una richiesta clusters.create per specificare i bucket temporanei e di staging del cluster.

Console

Nella console Google Cloud, apri la pagina Dataproc Crea un cluster. Seleziona il riquadro Personalizza cluster, quindi utilizza il campo Archiviazione file per specificare o selezionare il bucket di staging del cluster.

Nota: al momento, non è supportata la specifica di un bucket temporaneo tramite la console Google Cloud.

Dataproc utilizza una struttura di cartelle definita per i bucket Cloud Storage collegati ai cluster. Dataproc supporta anche l'attacco di più cluster a un bucket Cloud Storage. La struttura della cartella utilizzata per salvare l'output del driver del job in Cloud Storage è:

cloud-storage-bucket-name
  - google-cloud-dataproc-metainfo
    - list of cluster IDs
        - list of job IDs
          - list of output logs for a job

Puoi utilizzare lo strumento a riga di comando gcloud, l'API Dataproc o la console Google Cloud per elencare il nome dei bucket temporanei e di staging di un cluster.

Console

  • Visualizza i dettagli del cluster, tra cui il nome del bucket di staging del cluster, nella pagina Cluster Dataproc della console Google Cloud.
  • Nella pagina Browser Cloud Storage della console Google Cloud, filtra i risultati che contengono "dataproc-temp-".

Comando g-cloud

Esegui il comando gcloud dataproc clusters describe localmente in una finestra del terminale o in Cloud Shell. I bucket di staging e temporanei associati al tuo cluster sono elencati nell'output.

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

Chiama clusters.get per elencare i dettagli del cluster, incluso il nome dei bucket temporanei e di staging del cluster.

{
 "projectId": "vigilant-sunup-163401",
 "clusterName": "cluster-name",
 "config": {
  "configBucket": "dataproc-...",
...
  "tempBucket": "dataproc-temp-...",
}

defaultFS

Puoi impostare core:fs.defaultFS su una posizione del bucket in Cloud Storage (gs://defaultFS-bucket-name) per impostare Cloud Storage come file system predefinito. Viene impostato anche core:fs.gs.reported.permissions, l'autorizzazione segnalata restituita dal connettore Cloud Storage per tutti i file, su 777.

Se Cloud Storage non è impostato come file system predefinito, verrà utilizzato HDFS e la proprietà core:fs.gs.reported.permissions restituirà 700, il valore predefinito.

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 ...