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:
- Componentes principales que se instalan en todos los clústeres, como Spark, Hadoop y Hive
- Componentes opcionales que especifiques al crear un clúster
- 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 comotrue
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:
- 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
)" - Ejecuta lo siguiente
gcloud compute images describe
para ver los metadatos de la imagen.gcloud compute images describe --project=PROJECT_NAME IMAGE_NAME"
- Ejecuta el siguiente comando
- Para ver los metadatos de una imagen, sigue estos pasos:
- 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.