Cluster neu erstellen und aktualisieren

Schritte zum Neuerstellen und Aktualisieren eines Clusters

Sie können das gcloud-Befehlszeilentool oder die Dataproc API verwenden, um die Konfiguration aus einem vorhandenen Cluster zu kopieren, die kopierte Konfiguration zu aktualisieren und dann einen neuen Cluster mit der aktualisierten Konfiguration zu erstellen.

gcloud-CLI

Die Beispielanleitung zeigt, wie Sie die Einstellung für die Image-Version in einer Clusterkonfiguration aktualisieren. Sie können das Beispiel ändern, um andere Clusterkonfigurationseinstellungen zu aktualisieren.

  1. 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')
    
  2. Exportieren Sie die vorhandene (alte) Clusterkonfiguration in eine YAML-Datei.
    gcloud dataproc clusters export $OLD_CLUSTER \
        --project=$PROJECT \
        --region=$REGION > "${OLD_CLUSTER}-config.yaml"
  3. Konfiguration aktualisieren Im folgenden Beispiel wird die Image-Version mit sed aktualisiert.
    sed -E "s|(^[[:blank:]]+)imageVersion: .+|\1imageVersion: ${NEW_IMAGE_VERSION}|g" "${OLD_CLUSTER}-config.yaml" | sed -E '/^[[:blank:]]+imageUri: /d' > "${NEW_CLUSTER}-config-updated.yaml"
  4. 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"
  5. Löschen Sie den vorhandenen (alten) Cluster, nachdem Sie sichergestellt haben, dass Ihre Arbeitslasten problemlos im neuen Cluster ausgeführt werden. WICHTIG:Mit diesem Schritt werden alle in HDFS und auf dem lokalen Laufwerk in Ihrem Cluster gespeicherten Daten gelöscht.
    gcloud dataproc clusters delete $OLD_CLUSTER \
        --project=$PROJECT \
        --region=$REGION

REST API

Die Beispielanleitung zeigt, wie Sie den Clusternamen und die Einstellungen der Image-Version in einer Clusterkonfiguration aktualisieren. Sie können die Beispielvariablen ändern, um verschiedene Clusterkonfigurationseinstellungen zu aktualisieren.

  1. 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')
    
    
  2. 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"
  3. Konfiguration aktualisieren Im folgenden Beispiel werden der Clustername und die Image-Version mit jq aktualisiert.
    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"
  4. 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"
  5. Löschen Sie den vorhandenen (alten) Cluster, nachdem Sie sichergestellt haben, dass Ihre Arbeitslasten problemlos im neuen Cluster ausgeführt werden. WICHTIG: Mit diesem Schritt werden alle in HDFS und auf dem lokalen Laufwerk in Ihrem Cluster gespeicherten Daten gelöscht.
    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 Neuerstellung eines Clusters durch das Importieren einer Clusterkonfiguration wird von der Console nicht unterstützt.