Vuelve a crear y actualizar un clúster

Pasos para volver a crear y actualizar un clúster

Puedes usar la herramienta de línea de comandos de gcloud o la API de Dataproc para copiar la configuración de un clúster existente, actualizar la configuración copiada y, luego, crear un clúster nuevo con la configuración actualizada.

gcloud CLI

En las instrucciones de ejemplo, se muestra cómo actualizar la configuración de la versión de la imagen en la de un clúster. Puedes cambiar el ejemplo para actualizar diferentes parámetros de configuración del clúster.

  1. Configura 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. Exporta la configuración del clúster existente (anterior) a un archivo YAML.
    gcloud dataproc clusters export $OLD_CLUSTER \
        --project=$PROJECT \
        --region=$REGION > "${OLD_CLUSTER}-config.yaml"
  3. Actualiza la configuración. En el siguiente ejemplo, se usa sed para actualizar la versión de la imagen.
    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. Crea un clúster nuevo con un nombre nuevo y la configuración actualizada.
    gcloud dataproc clusters import $NEW_CLUSTER \
        --project=$PROJECT \
        --region=$REGION \
        --source="${NEW_CLUSTER}-config-updated.yaml"
  5. Después de confirmar que tus cargas de trabajo se ejecutan en el clúster nuevo sin problemas, borra el clúster existente (anterior). IMPORTANTE: En este paso, se borran todos los datos almacenados en HDFS y en el disco local de tu clúster.
    gcloud dataproc clusters delete $OLD_CLUSTER \
        --project=$PROJECT \
        --region=$REGION

API de REST

En las instrucciones de ejemplo, se muestra cómo actualizar el nombre del clúster y la configuración de la versión de la imagen en la de un clúster. Puedes cambiar las variables de ejemplo para actualizar diferentes parámetros de configuración del clúster.

  1. Configura 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. Exporta la configuración existente (anterior) del clúster a un archivo 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. Actualiza la configuración. En el siguiente ejemplo, se usa jq para actualizar el nombre del clúster y la versión de la imagen.
    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. Importa la configuración del clúster actualizada para crear un clúster nuevo con la configuración actualizada.
    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. Después de confirmar que tus cargas de trabajo se ejecutan en el clúster nuevo sin problemas, borra el clúster existente (anterior). IMPORTANTE: En este paso, se borran todos los datos almacenados en HDFS y en el disco local de tu clúster.
    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 consola no admite la recreación de un clúster mediante la importación de su configuración.