Cluster neu erstellen und aktualisieren

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.

  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 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"
  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. 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.

  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 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"
  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. 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.