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 per aggiornare le diverse impostazioni di configurazione del cluster.
- 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')
- 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"
- 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"
- 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"
- Dopo aver confermato che i carichi di lavoro vengono eseguiti nel nuovo cluster senza problemi,
per eliminare il cluster esistente (precedente). IMPORTANTE: questo passaggio elimina tutti
archiviati in HDFS e sul disco locale nel tuo cluster.
gcloud dataproc clusters delete $OLD_CLUSTER \ --project=$PROJECT \ --region=$REGION
API REST
Le istruzioni di esempio mostrano l'aggiornamento del nome e dell'immagine del cluster le impostazioni della versione in una configurazione cluster. Puoi modificare di variabili di esempio per aggiornare le diverse impostazioni di configurazione del cluster.
- 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')
- 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"
- 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"
- 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"
- Dopo aver verificato 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 nel 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 ricreazione di un cluster tramite importazione la configurazione di un cluster.