Cluster neu erstellen und aktualisieren
Sie können die Konfiguration mit dem gcloud
-Befehlszeilentool oder der Dataproc API aus einem vorhandenen Cluster kopieren, die kopierte Konfiguration aktualisieren und dann einen neuen Cluster mit der aktualisierten Konfiguration erstellen.
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 gelöscht, die in HDFS und auf dem lokalen Laufwerk 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 ä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 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 das Neuerstellen eines Clusters nicht, indem die Konfiguration eines Clusters importiert wird.