Ricreare e aggiornare un cluster
Puoi utilizzare lo strumento a riga di comando gcloud o l'API Managed Service per Apache Spark per copiare la configurazione da un cluster esistente, aggiornare la configurazione copiata e quindi creare un nuovo cluster con la configurazione aggiornata.
Gcloud CLI
Le istruzioni di esempio mostrano come aggiornare l'impostazione della versione immagine in una configurazione del cluster. Puoi modificare l'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 YAML.
gcloud dataproc clusters export $OLD_CLUSTER \ --project=$PROJECT \ --region=$REGION > "${OLD_CLUSTER}-config.yaml" - Aggiorna la configurazione. L'esempio seguente utilizza
sedper aggiornare la versione 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 carichi di lavoro vengano 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.
gcloud dataproc clusters delete $OLD_CLUSTER \ --project=$PROJECT \ --region=$REGION
API REST
Le istruzioni di esempio mostrano come aggiornare il nome del cluster e le impostazioni della versione immagine in una configurazione del cluster. Puoi modificare le 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
jqper aggiornare il nome del cluster e la versione 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 vengano 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 mediante l'importazione di una configurazione del cluster.