Schritte zum Neuerstellen und Aktualisieren eines Clusters
Sie können das gcloud
-Befehlszeilentool oder die Dataproc API verwenden.
die Konfiguration aus einem vorhandenen Cluster zu kopieren, die kopierte Konfiguration zu aktualisieren,
und erstellen dann einen neuen Cluster mit der aktualisierten Konfiguration.
gcloud-CLI
In der Beispielanleitung wird gezeigt, wie die Einstellung für die Imageversion in einer Clusterkonfiguration aktualisiert wird. Sie können das Beispiel ändern, um verschiedene Clusterkonfigurationseinstellungen zu aktualisieren.
- Legen Sie Variablen fest.
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')
- Exportieren Sie die vorhandene (alte) Clusterkonfiguration in eine YAML-Datei.
gcloud dataproc clusters export $OLD_CLUSTER \ --project=$PROJECT \ --region=$REGION > "${OLD_CLUSTER}-config.yaml"
- Konfiguration aktualisieren Im folgenden Beispiel wird
sed
verwendet, um die Image-Version zu aktualisieren.sed -E "s|(^[[:blank:]]+)imageVersion: .+|\1imageVersion: ${NEW_IMAGE_VERSION}|g" "${OLD_CLUSTER}-config.yaml" | sed -E '/^[[:blank:]]+imageUri: /d' > "${NEW_CLUSTER}-config-updated.yaml"
- Erstellen Sie einen neuen Cluster mit einem neuen Namen und der aktualisierten Konfiguration.
gcloud dataproc clusters import $NEW_CLUSTER \ --project=$PROJECT \ --region=$REGION \ --source="${NEW_CLUSTER}-config-updated.yaml"
- Nachdem Sie bestätigt haben, dass Ihre Arbeitslasten im neuen Cluster ohne Probleme ausgeführt werden, löschen Sie den vorhandenen (alten) Cluster. WICHTIG: Bei diesem Schritt werden alle
Daten, die in HDFS und auf lokalen Laufwerken in Ihrem Cluster gespeichert sind.
gcloud dataproc clusters delete $OLD_CLUSTER \ --project=$PROJECT \ --region=$REGION
REST API
In der Beispielanleitung wird gezeigt, wie der Clustername und die Einstellungen für die Imageversion in einer Clusterkonfiguration aktualisiert werden. Sie können die Beispielvariablen, um unterschiedliche Cluster-Konfigurationseinstellungen zu aktualisieren.
- Legen Sie Variablen fest.
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')
- Exportieren Sie die vorhandene (alte) Clusterkonfiguration in eine JSON-Datei.
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"
- Konfiguration aktualisieren Im folgenden Beispiel wird
jq
verwendet, um den Clusternamen und die Image-Version zu aktualisieren.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"
- Importieren Sie die aktualisierte Clusterkonfiguration, um einen neuen Cluster mit der aktualisierten Konfiguration zu erstellen.
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"
- Nachdem Sie bestätigt haben, dass Ihre Arbeitslasten im neuen Cluster ohne Probleme ausgeführt werden, löschen Sie den vorhandenen (alten) Cluster. WICHTIG: Bei diesem Schritt werden alle Daten gelöscht, die in HDFS und auf dem lokalen Laufwerk in Ihrem Cluster gespeichert sind.
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://dataproc.googleapis.com/v1/projects/${PROJECT}/regions/${REGION}/clusters/${OLD_CLUSTER}"
Console
Die Console unterstützt nicht das Neuerstellen eines Clusters durch Importieren von Daten eine Clusterkonfiguration.