Procédure à suivre 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.
CLI gcloud
L'exemple d'instructions montre comment mettre à jour le paramètre de version de l'image dans une configuration de cluster. Vous pouvez modifier l'exemple pour mettre à jour différents paramètres de configuration du cluster.
- 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')
- Exportez la configuration existante (ancienne) du cluster vers un fichier YAML.
gcloud dataproc clusters export $OLD_CLUSTER \ --project=$PROJECT \ --region=$REGION > "${OLD_CLUSTER}-config.yaml"
- 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"
- 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"
- Après avoir vérifié que vos charges de travail s'exécutent sans problème dans le nouveau cluster, supprimez l'ancien cluster. 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
L'exemple d'instructions montre 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.
- 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')
- 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"
- 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"
- Importez la configuration du cluster mise à jour pour créer un cluster avec la configuration mise à jour.
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"
- Une fois que vous avez vérifié que vos charges de travail s'exécutent correctement dans le nouveau cluster, supprimez l'ancien cluster. IMPORTANT:Cette étape supprime toutes les données stockées dans HDFS et sur le disque local de votre 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.