Bucket temporanei e di gestione temporanea di Dataproc

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

  • Bucket temporaneo: utilizzato per inserire in fasi le dipendenze dei job del cluster, l'output del driver del job e i file di configurazione del cluster. Riceve inoltre l'output dal comando gcloud dataproc clusters describe gcloud CLI.

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

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

Il bucket temporaneo contiene dati temporanei e ha un TTL di 90 giorni. Il bucket gestione temporanea, 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 ".jar" che si trovano nella cartella del bucket di gestione temporanea) per pianificare la rimozione dei file delle dipendenze quando non sono più necessari dai cluster.

Creare bucket temporanei e di gestione temporanea

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

Comando g-cloud

Esegui il comando gcloud dataproc clusters create con i flag --bucket e/o --temp-bucket localmente in una finestra del terminale o in Cloud Shell per specificare il bucket gestione temporanea 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 gestione temporanea del cluster.

Console

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

Nota: al momento non è supportato specificare un bucket temporaneo utilizzando la console Google Cloud.

Dataproc usa una struttura di cartelle definita per i bucket Cloud Storage collegati ai cluster. Dataproc supporta anche il collegamento di più cluster a un bucket Cloud Storage. La struttura delle cartelle usata 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 gestione temporanea di un cluster.

Console

  • \Visualizza i dettagli del cluster, che includono il nome del bucket di gestione temporanea del cluster, nella pagina Cluster di 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 in locale in una finestra del terminale o in Cloud Shell. I bucket temporanei e di gestione temporanea associati al 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 gestione temporanea del cluster.

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

defaultFS

Puoi impostare core:fs.defaultFS su una località del bucket in Cloud Storage (gs://defaultFS-bucket-name) per impostare Cloud Storage come file system predefinito. Inoltre, core:fs.gs.reported.permissions, l'autorizzazione segnalata restituita dal connettore Cloud Storage per tutti i file, viene impostata 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 ...