Cluster neu erstellen und aktualisieren

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.

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

  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 nicht das Neuerstellen eines Clusters durch Importieren von Daten eine Clusterkonfiguration.