El Servicio administrado para Apache Spark usa imágenes para unir los conectores útiles Google Cloud y los componentes de Apache Spark y Apache Hadoop en un paquete que se puede implementar en un clúster del Servicio administrado para Apache Spark. Estas imágenes contienen el sistema operativo base (Debian o Ubuntu) para el 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 características y mejoras nuevas. El control de versiones del Servicio administrado para Apache Spark 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 de imagen en el siguiente formato:
version_major.version_minor.version_sub_minor-os_distribution
Se mantienen las siguientes distribuciones de SO:
| Código de distribución de SO | Distribución de SO |
|---|---|
| debian12 | Debian 12 |
| debian10 | Debian 10 |
| debian11 | Debian 11 |
| rocky8 | Rocky Linux 8 |
| rocky9 | Rocky Linux 9 |
| ubuntu18 | Ubuntu 18.04 LTS |
| ubuntu20 | LTS de Ubuntu 20.4 |
| ubuntu22 | LTS de Ubuntu 22.04 |
Consulta las versiones anteriores de la imagen para las distribuciones del SO admitidas.
La práctica recomendada es especificar la versión de 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 configuran automáticamente a la última versión semanal.
Seleccionar versiones
Cuando creas un clúster del Servicio administrado para Apache Spark 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, Rocky Linux o Ubuntu cuando crees un clúster (consulta la
lista de versiones de imágenes del Servicio administrado para Apache Spark).
Cuando especificas imágenes basadas en Debian, puedes omitir el sufijo del código de distribución del SO
, por ejemplo, si especificas 2.0 para seleccionar la imagen 2.0-debian10.
El sufijo del SO debe usarse para seleccionar una imagen basada en Rocky Linux o Ubuntu, por ejemplo, mediante la especificación de 2.0-ubuntu18.
Comando de gcloud
Cuando usas el comando gcloud dataproc clusters create, puedes usar el argumento --image-version para especificar una versión con imágenes para el clúster nuevo.
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
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, 2.0.20.
Puedes verificar tu versión actual con Google Cloud CLI.
gcloud dataproc clusters describe CLUSTER_NAME \ --region=REGION
API de 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"
}
}
}
Console
Abre la página Create a cluster del Servicio administrado para Apache Spark. Se selecciona el panel Configura clústeres. El campo Tipo de imagen y Versión en la sección Control de versiones muestra la imagen que se usará cuando se crea el clúster. También se muestra la fecha de lanzamiento de la imagen. Inicialmente, la imagen predeterminada, la última versión disponible de Debian, se muestra como seleccionada. Haz clic en Cambiar para ver una lista de las imágenes disponibles. Puedes seleccionar una imagen personalizada o estándar para usar en el clúster.
Cuando se crean versiones nuevas
Se crean versiones principales nuevas periódicamente para incorporar una o más de las siguientes opciones:
- Versiones principales de:
- Spark, Hadoop y otros componentes de macrodatos
- Google Cloud conectores
- Actualizaciones o cambios importantes en la funcionalidad del Servicio administrado para Apache Spark
Se lanzan versiones preliminares nuevas (con un sufijo -RC) antes del lanzamiento de una versión principal nueva:
- Las imágenes preliminares no están diseñadas para usarse en cargas de trabajo de producción.
- Las versiones de componentes de imágenes preliminares se pueden actualizar a la versión de componente disponible más reciente en la versión de imagen de DG posterior a la versión preliminar.
Se crean versiones secundarias nuevas periódicamente para incorporar una o más de las siguientes opciones:
- Actualizaciones y versiones secundarias de:
- Spark, Hadoop y otros componentes de macrodatos
- Google Cloud conectores
- Actualizaciones o cambios menores en la funcionalidad del Servicio administrado para Apache Spark
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.
Se crean versiones subsecundarias nuevas periódicamente para incorporar una o más de las siguientes opciones:
- Parches o correcciones para un componente en la imagen
- Actualizaciones de versiones subsecundarias de componentes
Versión de imagen y asistencia del Servicio administrado para Apache Spark
Las versiones con imágenes secundarias son compatibles durante 24 meses después del lanzamiento inicial de DG (disponibilidad general). Durante este período, los clústeres que usan estas versiones de imagen son aptos para la asistencia (para recibir correcciones, vuelve a crear el clúster mediante la última versión de imagen subsecundaria compatible). Una vez que se cerró la ventana de asistencia, los clústeres que usan las versiones de imagen no son aptos para 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 | Lastltimo parche (fin de asistencia) |
|---|---|---|
| debian9 | Debian 9 | 10 de julio de 2020 |
| 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, las versiones de imágenes se compilaban con Debian 8 y omitían el código de distribución del SO. Se especifican en el siguiente formato:
version_major.version_minor.version_sub_minor
Versiones 0.1 y 0.2
Las versiones con imágenes lanzadas como Alfa o Beta antes de la
disponibilidad general de la versión 1.0 del Servicio administrado para Apache Spark
no están sujetas a la
política de asistencia del Servicio administrado para Apache Spark.
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 especificas cuando creas un clúster
- Tus clústeres del Servicio administrado para Apache Spark no se actualizan automáticamente cuando se lanzan versiones de imagen nuevas.
- Recomendaciones:
- Ejecuta clústeres con la última
versión de imagen subsecundaria.
Los metadatos de la imagen incluyen una etiqueta
previous-subminor, que se establece entruesi el clúster no usa la última versión de imagen subsecundaria.- Para ver los metadatos de la imagen, haz lo siguiente:
- Ejecuta el siguiente
gcloud compute images list --filtercomando para enumerar el nombre del recurso de una imagen del Servicio administrado para Apache Spark.gcloud compute images list --project=PROJECT_NAME --filter="labels.goog-dataproc-version ~ ^IMAGE_VERSION (such as
2.2.16-debian12)" - Ejecuta el siguiente
gcloud compute images describepara ver los metadatos de la imagen.gcloud compute images describe --project=PROJECT_NAME IMAGE_NAME"
- Ejecuta el siguiente
- Para ver los metadatos de la imagen, haz lo siguiente:
- Prueba y valida que tus aplicaciones se ejecuten correctamente en los clústeres creados con versiones de imagen nuevas, en particular, cuando usas versiones de imagen principales nuevas.