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, aggiornare la configurazione copiata 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.
- 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 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.
- 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 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.