Ricrea e aggiorna un cluster

Procedura per ricreare e aggiornare un cluster

Puoi utilizzare lo strumento a riga di comando gcloud o l'API Dataproc per copiare la configurazione da un cluster esistente, aggiornarla e creare un nuovo cluster con la configurazione aggiornata.

Interfaccia a riga di comando gcloud

Le istruzioni di esempio mostrano l'aggiornamento dell'impostazione della versione dell'immagine in una configurazione del cluster. Puoi modificare l'esempio per aggiornare diverse impostazioni di configurazione del cluster.

  1. Imposta le variabili.
    export PROJECT=project-id
    export REGION=region
    export OLD_CLUSTER=old-cluster-name
    export NEW_CLUSTER=new-cluster-name
    export NEW_IMAGE_VERSION=image-version (for example, '2.2-debian12')
    
  2. Esporta la configurazione del cluster esistente (precedente) in un file YAML.
    gcloud dataproc clusters export $OLD_CLUSTER \
        --project=$PROJECT \
        --region=$REGION > "${OLD_CLUSTER}-config.yaml"
  3. Aggiorna la configurazione. L'esempio seguente utilizza sed per aggiornare la versione dell'immagine.
    sed -E "s|(^[[:blank:]]+)imageVersion: .+|\1imageVersion: ${NEW_IMAGE_VERSION}|g" "${OLD_CLUSTER}-config.yaml" | sed -E '/^[[:blank:]]+imageUri: /d' > "${NEW_CLUSTER}-config-updated.yaml"
  4. Crea un nuovo cluster con un nuovo nome e la configurazione aggiornata.
    gcloud dataproc clusters import $NEW_CLUSTER \
        --project=$PROJECT \
        --region=$REGION \
        --source="${NEW_CLUSTER}-config-updated.yaml"
  5. Dopo aver verificato che i tuoi workload vengono eseguiti nel nuovo cluster senza problemi, elimina il cluster esistente (precedente). IMPORTANTE: questo passaggio elimina tutti i dati memorizzati in HDFS e sul disco locale del cluster.
    gcloud dataproc clusters delete $OLD_CLUSTER \
        --project=$PROJECT \
        --region=$REGION

API REST

Le istruzioni di esempio mostrano l'aggiornamento del nome del cluster e delle impostazioni della versione dell'immagine in una configurazione del cluster. Puoi modificare le variabili di esempio per aggiornare diverse impostazioni di configurazione del cluster.

  1. Imposta le variabili.
    export PROJECT=project-id
    export REGION=region
    export OLD_CLUSTER=old-cluster-name
    export NEW_CLUSTER=new-cluster-name
    export NEW_IMAGE_VERSION=image-version (for example, '2.2-debian12')
    
    
  2. Esporta la configurazione del cluster esistente (precedente) in un file JSON.
    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)"  "https://dataproc.googleapis.com/v1/projects/${PROJECT}/regions/${REGION}/clusters/${OLD_CLUSTER}?alt=json" > "${OLD_CLUSTER}-config.json"
  3. Aggiorna la configurazione. L'esempio seguente utilizza jq per aggiornare il nome del cluster e la versione dell'immagine.
    jq ".clusterName = \"${NEW_CLUSTER}\" | .config.softwareConfig.imageVersion=\"${NEW_IMAGE_VERSION}\" | del(.config.workerConfig.imageUri) | del(.config.masterConfig.imageUri)" "${OLD_CLUSTER}-config.json" > "${NEW_CLUSTER}-config-updated.json"
  4. Importa la configurazione del cluster aggiornata per creare un nuovo cluster con la configurazione aggiornata.
    curl -i -X POST  -H "Authorization: Bearer $(gcloud auth print-access-token)"  -H "Content-Type: application/json; charset=utf-8" -d "@${NEW_CLUSTER}-config-updated.json" "https://dataproc.googleapis.com/v1/projects/${PROJECT}/regions/${REGION}/clusters?alt=json"
  5. Dopo aver verificato che i tuoi workload vengono eseguiti nel nuovo cluster senza problemi, elimina il cluster esistente (precedente). IMPORTANTE: questo passaggio elimina tutti i dati archiviati in HDFS e sul disco locale del cluster.
    curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://dataproc.googleapis.com/v1/projects/${PROJECT}/regions/${REGION}/clusters/${OLD_CLUSTER}"
    

Console

La console non supporta la ricostituzione di un cluster mediante l'importazione di una configurazione del cluster.