Recréer et mettre à jour un cluster

Étapes pour recréer et mettre à jour un cluster

Vous pouvez utiliser l'outil de ligne de commande gcloud ou l'API Dataproc pour copier la configuration d'un cluster existant, mettre à jour la configuration copiée, puis créer un cluster avec la configuration mise à jour.

gcloud CLI

Les exemples d'instructions montrent comment mettre à jour le paramètre de version d'image dans une configuration de cluster. Vous pouvez modifier l'exemple pour mettre à jour différents paramètres de configuration du cluster.

  1. Définissez les variables.
    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. Exportez la configuration de cluster existante (ancienne) vers un fichier YAML.
    gcloud dataproc clusters export $OLD_CLUSTER \
        --project=$PROJECT \
        --region=$REGION > "${OLD_CLUSTER}-config.yaml"
  3. Mettez à jour la configuration. L'exemple suivant utilise sed pour mettre à jour la version de l'image.
    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. Créez un cluster avec un nouveau nom et la configuration mise à jour.
    gcloud dataproc clusters import $NEW_CLUSTER \
        --project=$PROJECT \
        --region=$REGION \
        --source="${NEW_CLUSTER}-config-updated.yaml"
  5. Après avoir vérifié que vos charges de travail s'exécutent sans problème dans le nouveau cluster, supprimez le cluster existant (l'ancien). IMPORTANT : Cette étape supprime toutes les données stockées dans HDFS et sur le disque local de votre cluster.
    gcloud dataproc clusters delete $OLD_CLUSTER \
        --project=$PROJECT \
        --region=$REGION

API REST

Les exemples d'instructions montrent comment mettre à jour le nom du cluster et les paramètres de version de l'image dans une configuration de cluster. Vous pouvez modifier les exemples de variables pour mettre à jour différents paramètres de configuration du cluster.

  1. Définissez les variables.
    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. Exportez la configuration de cluster existante (ancienne) vers un fichier JSON.
    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. Mettez à jour la configuration. L'exemple suivant utilise jq pour mettre à jour le nom du cluster et la version de l'image.
    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. Importez la configuration de cluster mise à jour pour créer un cluster avec la configuration modifiée.
    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. Après avoir vérifié que vos charges de travail s'exécutent sans problème dans le nouveau cluster, supprimez le cluster existant (l'ancien). IMPORTANT:Cette étape supprime toutes les données stockées dans HDFS et sur le disque local du cluster.
    curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://dataproc.googleapis.com/v1/projects/${PROJECT}/regions/${REGION}/clusters/${OLD_CLUSTER}"
    

Console

La console ne permet pas de recréer un cluster en important une configuration de cluster.