Control de versiones de Dataproc

Dataproc usa imágenes para combinar conectores útiles y componentes de Apache Spark y Apache Hadoop en un paquete que se puede desplegar en un clúster de Dataproc. Google Cloud Estas imágenes contienen el sistema operativo base (Debian o Ubuntu) del clúster, junto con los componentes principales y opcionales necesarios para ejecutar trabajos, como Spark, Hadoop y Hive. Estas imágenes se actualizan periódicamente para incluir nuevas mejoras y funciones. El control de versiones de Dataproc te permite seleccionar conjuntos de versiones de software al crear clústeres.

Cómo funciona el control de versiones

Cuando se crea una imagen, se le asigna un número de versión de imagen con el siguiente formato:

version_major.version_minor.version_sub_minor-os_distribution

Se mantienen las siguientes distribuciones del SO:

Código de distribución del SO Distribución del SO
debian12 Debian 12
debian10 Debian 10
debian11 Debian 11
rocky8 Rocky Linux 8
rocky9 Rocky Linux 9
ubuntu18 Ubuntu 18.04 LTS
ubuntu20 Ubuntu 20.04 LTS
ubuntu22 Ubuntu 22.04 LTS

Consulta las versiones antiguas de imágenes para ver las distribuciones de SO compatibles anteriormente.

La práctica recomendada es especificar la versión de la imagen major.minor en entornos de producción o cuando sea importante la compatibilidad con versiones específicas de componentes. Las distribuciones de versiones secundarias y del SO se definen automáticamente en la versión semanal más reciente.

Seleccionar versiones

Cuando creas un clúster de Dataproc, se usa de forma predeterminada la versión de imagen de Debian más reciente disponible. Puede seleccionar una versión de imagen de Debian, Rocky Linux o Ubuntu al crear un clúster (consulte la lista de versiones de imagen de Dataproc). Cuando especifiques imágenes basadas en Debian, puedes omitir el sufijo OS Distribution Code. Por ejemplo, puedes especificar 2.0 para seleccionar la imagen 2.0-debian10. El sufijo de SO debe usarse para seleccionar una imagen basada en Rocky Linux o Ubuntu. Por ejemplo, puedes especificar 2.0-ubuntu18.

Comando gcloud

Cuando usas el comando gcloud dataproc clusters create, puedes usar el argumento --image-version para especificar una versión de la imagen del nuevo clúster.

Ejemplo de imagen de Debian:

gcloud dataproc clusters create CLUSTER_NAME \
    --image-version=2.0 \
    --region=REGION

Ejemplo de imagen de Ubuntu:

gcloud dataproc clusters create CLUSTER_NAME \
    --image-version=2.0-ubuntu18 \
    --region=REGION

La práctica recomendada es omitir la versión secundaria para que se use la versión secundaria más reciente. Sin embargo, si es necesario, se puede especificar la versión secundaria, por ejemplo, 2.0.20.

Puedes consultar tu versión actual con Google Cloud CLI.

gcloud dataproc clusters describe CLUSTER_NAME \
    --region=REGION

API REST

Puedes especificar el campo SoftwareConfig imageVersion como parte de una solicitud a la API cluster.create.

Ejemplo

POST /v1/projects/project-id/regions/us-central1/clusters/
{
  "projectId": "project-id",
  "clusterName": "example-cluster",
  "config": {
    "configBucket": "",
    "gceClusterConfig": {
      "subnetworkUri": "default",
      "zoneUri": "us-central1-b"
    },
    "masterConfig": {
      ...
      }
    },
    "workerConfig": {
      ...
      }
    },
    "softwareConfig": {
      "imageVersion": "2.0"
    }
  }
}
  

Consola

Abre la página de Dataproc Crear un clúster. El panel Configurar clúster está seleccionado. Los campos Tipo de imagen y Versión de la sección Control de versiones muestran la imagen que se usará al crear el clúster. También se muestra la fecha de lanzamiento de la imagen. Al principio, se muestra seleccionada la imagen predeterminada, que es la última versión de Debian disponible. Haz clic en Cambiar para ver una lista de imágenes disponibles. Puedes seleccionar una imagen estándar o personalizada para usarla en tu clúster.

Cuando se crean versiones nuevas

Periódicamente, se crean nuevas versiones principales para incorporar una o varias de las siguientes funciones:

  • Lanzamientos importantes de:
    • Spark, Hadoop y otros componentes de Big Data
    • Google Cloud conectores
  • Cambios o actualizaciones importantes en la funcionalidad de Dataproc

Las nuevas versiones de vista previa (con el sufijo -RC) se lanzan antes de la publicación de una nueva versión principal:

  • Las imágenes de vista previa no están pensadas para usarse en cargas de trabajo de producción.
  • Es posible que las versiones del componente de imagen de vista previa se actualicen a la versión del componente más reciente disponible en la versión de disponibilidad general de la imagen posterior a la vista previa.

Periódicamente, se crean nuevas versiones menores para incorporar una o varias de las siguientes funciones:

  • Versiones y actualizaciones menores de:
    • Spark, Hadoop y otros componentes de Big Data
    • Google Cloud conectores
  • Cambios o actualizaciones menores en la funcionalidad de Dataproc

Cuando se crea una nueva versión secundaria, su imagen de Debian se convierte en la predeterminada de la versión principal y representa la versión más reciente de la versión principal.

Periódicamente, se crean nuevas versiones secundarias para incorporar una o varias de las siguientes opciones:

  • Parches o correcciones de un componente de la imagen
  • Actualizaciones de versiones submenores de componentes

Versión de imagen y compatibilidad con Dataproc

Las versiones secundarias de las imágenes se admiten durante 24 meses después del lanzamiento inicial de la disponibilidad general. Durante este periodo, los clústeres que usen estas versiones de imagen podrán recibir asistencia (para recibir correcciones, vuelve a crear el clúster con la versión de imagen secundaria más reciente). Una vez que haya finalizado el periodo de asistencia, los clústeres que usen las versiones de imagen no podrán recibir asistencia.

Versiones antiguas de imágenes

Distribuciones de SO admitidas anteriormente

Anteriormente, se admitían las siguientes distribuciones del SO:

Código de distribución del SO Distribución del SO Último parche (fin de la asistencia)
debian9 Debian 9 10 de julio del 2020
deb8 Debian 8 26 de octubre del 2018

Versiones de imagen sin distribución explícita del SO

Antes del 16 de agosto del 2018, las versiones de las imágenes se creaban con Debian 8 y omitían el código de distribución del SO. Se especifican con el siguiente formato:

version_major.version_minor.version_sub_minor

Versiones 0.1 y 0.2

Las versiones de imagen lanzadas como versiones alfa o beta antes de la disponibilidad general de la versión 1.0 de Dataproc no están sujetas a la política de asistencia de Dataproc.

Notas importantes sobre el control de versiones

  • Las versiones de imagen contienen los siguientes componentes:
  • Tus clústeres de Dataproc no se actualizan automáticamente cuando se lanzan nuevas versiones de imagen.
    • Recomendaciones:
    • Ejecuta clústeres con la versión secundaria de imagen más reciente. Los metadatos de la imagen incluyen una etiqueta previous-subminor, que se define como true si el clúster no usa la versión secundaria más reciente de la imagen.
      • Para ver los metadatos de una imagen, sigue estos pasos:
        1. Ejecuta el siguiente comando gcloud compute images list --filter para enumerar el nombre de recurso de una imagen de Dataproc.
          gcloud compute images list --project=PROJECT_NAME --filter="labels.goog-dataproc-version ~ ^IMAGE_VERSION (such as 2.2.16-debian12)"
          
        2. Ejecuta lo siguiente gcloud compute images describe para ver los metadatos de la imagen.
          gcloud compute images describe --project=PROJECT_NAME IMAGE_NAME"
          
    • Prueba y valida que tus aplicaciones se ejecuten correctamente en clústeres creados con nuevas versiones de imagen, sobre todo cuando utilices nuevas versiones principales de imagen.