Ricrea e aggiorna un cluster

Passaggi 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, aggiornare la configurazione copiata e quindi 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 impostazioni di configurazione del cluster diverse.

  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 confermato che i carichi di lavoro 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 tuo cluster.
    gcloud dataproc clusters delete $OLD_CLUSTER \
        --project=$PROJECT \
        --region=$REGION

API REST

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

  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 aggiornata del cluster 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 confermato che i carichi di lavoro 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 nuova creazione di un cluster importando una configurazione del cluster.