Control de versiones de Dataproc

Dataproc usa imágenes para vincular conectores de Google Cloud Platform y componentes de Apache Spark y Apache Hadoop en un paquete que se puede implementar en un clúster de Dataproc. 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 actualizarán periódicamente para incluir características y mejoras nuevas. El control de versiones de Dataproc te permite seleccionar conjuntos de versiones de software cuando creas clústeres.

Cómo funciona el control de versiones

Cuando se crea una imagen, se asigna un número de versión con imágenes en el siguiente formato:

version_major.version_minor.version_sub_minor-os_distribution

Las siguientes distribuciones de SO actualmente se mantienen:

Código de distribución de SO Distribución de SO
debian9 Debian 9
ubuntu18 Ubuntu 18

Consulta las versiones de imágenes anteriores para las distribuciones del SO admitidas.

La práctica recomendada es especificar la versión de la imagen major.minor para los entornos de producción o cuando es importante la compatibilidad con versiones de componentes específicos. Las distribuciones del SO y subsecundarias se configurarán automáticamente a la última versión semanal.

Cómo seleccionar versiones

Cuando creas un clúster de Dataproc nuevo, se usa la versión con imágenes de Debian más reciente de forma predeterminada. Puedes seleccionar una versión con imágenes de Debian o Ubuntu cuando crees un clúster (consulta la Lista de versiones de imágenes de Dataproc). Cuando especificas imágenes basadas en Debian, puedes omitir el sufijo del código de distribución del SO, por ejemplo, si especificas “1.3” para seleccionar la imagen 1.3-debian9. El sufijo del SO debe usarse para seleccionar una imagen basada en Ubuntu, por ejemplo, mediante la especificación “1.4-ubuntu18”.

Comando de gcloud

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

Ejemplo de imagen de Debian:

    gcloud dataproc clusters create new-cluster-name --image-version 1.4
    

Ejemplo de imagen de Ubuntu:

    gcloud dataproc clusters create new-cluster-name --image-version 1.3-ubuntu18
    

Se recomienda omitir la versión subsecundaria para que se use la última versión subsecundaria. Sin embargo, si es necesario, se puede especificar la versión subsecundaria, por ejemplo, “1.2.67”.

Puedes verificar tu versión actual con la herramienta de línea de comandos de gcloud.

    gcloud dataproc clusters describe cluster-name
    

API de REST

Puedes especificar el campo SoftwareConfigimageVersion 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": "1.3"
        }
      }
    }
      

Console

Cuando creas un clúster nuevo, haz clic en Opciones avanzadas (Advanced options) en la parte inferior del formulario Crear un clúster (Create a cluster) de Dataproc.

El campo Imagen muestra la imagen que se usará cuando se crea el clúster. Inicialmente, muestra el valor predeterminado (última versión disponible de Debian).

Haz clic en Cambiar (Change) para visualizar una lista de imágenes disponibles que puedes seleccionar a fin de usar con tu clúster. Selecciona una imagen personalizada o estándar.

Cuando se crean versiones nuevas

Las versiones principales nuevas se crearán periódicamente para incorporar una o más de las siguientes opciones:

  • Versiones principales de:
    • Spark, Hadoop y otros componentes de macrodatos
    • Conectores de Google Cloud
  • Actualizaciones o cambios importantes en la funcionalidad de Dataproc

Las versiones secundarias nuevas se crearán periódicamente para incorporar una o más de las siguientes opciones:

  • Actualizaciones y versiones secundarias de:
    • Spark, Hadoop y otros componentes de macrodatos
    • Conectores de Google Cloud
  • Actualizaciones o cambios menores en la funcionalidad de Dataproc

Cuando se crea un versión secundaria nueva, su imagen de Debian se convierte en el valor predeterminado para la versión principal y representa la última versión de la versión principal.

Las versiones subsecundarias nuevas se crearán periódicamente para incorporar una o más de las siguientes opciones:

  • Parches o correcciones para un componente en la imagen

Versión de imagen y compatibilidad con Dataproc

Las versiones de imagen principales y secundarias son compatibles durante un período especificado después de que se lanzan. Durante este período, los clústeres que usan las versiones de imagen son aptos para la asistencia. Una vez que se cerró la ventana de asistencia, los clústeres que usan las versiones de imagen no son aptos para asistencia.

Meses después del lanzamiento inicial de la versión de imagen ¿Se pueden crear clústeres con esta versión de imagen? ¿Los clústeres que usan esta versión de imagen son aptos para la asistencia?
0-12
12-24 No
24+ No No

Las versiones subsecundarias no tienen ciclos de vida garantizados ni asistencia.

Versiones de imagen anteriores

Distribuciones de SO admitidas previamente

Las siguientes distribuciones de SO se admitían previamente:

Código de distribución de SO Distribución de SO Último parche (fin de la asistencia)
deb8 Debian 8 26 de octubre de 2018

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

Antes del 16 de agosto de 2018, se creaban versiones de imagen con Debian 8 y se omitía el código de distribución del SO. Se especifican en el siguiente formato:

version_major.version_minor.version_sub_minor

0.1 y 0.2

Las versiones de imagen publicadas como Alfa o Beta anteriores a la disponibilidad general de Dataproc 1.0 no están sujetas a la política de asistencia de Dataproc.

Notas importantes sobre el control de versiones