Managed Service para Apache Spark en clústeres usa imágenes para vincular conectores de Google Cloud útiles y componentes de Apache Spark y Apache Hadoop en un paquete que se puede implementar en un clúster de Managed Service 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 de forma periódica para incluir mejoras y funciones nuevas. El control de versiones de Managed Service 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 le 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 la imagen major.minor para los entornos de producción o cuando es importante la compatibilidad con versiones de componentes específicos. Las distribuciones de SO y submenores se configuran automáticamente
en la versión semanal más reciente.
Seleccionar versiones
Cuando creas un clúster de Managed Service para Apache Spark nuevo, se usa la versión más reciente de la imagen de
Debian disponible de forma predeterminada. Puedes seleccionar una
versión de imagen de Debian, Rocky Linux o Ubuntu cuando creas un clúster (consulta la
lista de versiones de imágenes de Managed Service 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, especificando 2.0-ubuntu18.
Consola deGoogle Cloud
Abre la página Crear clúster. En la sección Define tu clúster, el campo desplegable Tipo y versión de imagen muestra la imagen que se usará cuando se cree el clúster. Al principio, se selecciona la imagen predeterminada, que es la versión más reciente de Debian disponible. Haz clic en el campo para seleccionar una imagen estándar disponible o una imagen personalizada.
Comando de gcloud CLI
Cuando usas el comando gcloud dataproc clusters create, puedes usar el argumento --image-version a fin de 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
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 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"
}
}
}
Cuando se crean versiones nuevas
Las nuevas versiones principales se crean de forma periódica para incorporar uno o más de los siguientes elementos:
- Versiones principales de:
- Spark, Hadoop y otros componentes de macrodatos
- Google Cloud conectores
- Cambios o actualizaciones importantes en la funcionalidad de Managed Service para Apache Spark
Las nuevas versiones preliminares (con un sufijo -RC) se lanzan antes del lanzamiento
de una nueva versión principal:
- Las imágenes de versión preliminar no están diseñadas para usarse en cargas de trabajo de producción.
- Las versiones preliminares de los componentes de imagen se pueden actualizar a la versión más reciente disponible en la versión de la imagen de DG posterior a la versión preliminar.
Las versiones secundarias nuevas se crean de forma periódica para incorporar uno o más de los siguientes elementos:
- Actualizaciones y versiones secundarias de:
- Spark, Hadoop y otros componentes de macrodatos
- Google Cloud conectores
- Cambios o actualizaciones menores en la funcionalidad de Managed Service 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 nuevas versiones submenores de forma periódica para incorporar uno o más de los siguientes elementos:
- Parches o correcciones para un componente en la imagen
- Actualizaciones de versiones secundarias de componentes
Compatibilidad con la versión de imagen y Managed Service 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 recibir asistencia (para recibir correcciones, vuelve a crear el clúster con la versión de imagen secundaria más reciente compatible). Después de que se cierra la ventana de asistencia, los clústeres que usan las versiones de imagen no son aptos para recibir asistencia.
Versiones de imágenes antiguas
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 imágenes sin distribución explícita del 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 de imagen lanzadas como versiones alfa o beta antes de
la disponibilidad general de la versión 1.0 de Managed Service para Apache Spark
no están sujetas a la
política de asistencia de Managed Service 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 de Managed Service para Apache Spark no se actualizan automáticamente cuando se lanzan nuevas
versiones de imágenes.
- Recomendaciones:
- Ejecuta clústeres con la versión de imagen secundaria más reciente.
Los metadatos de la imagen incluyen una etiqueta
previous-subminor, que se establece entruesi el clúster no usa la versión más reciente de la imagen secundaria.- Para ver los metadatos de la imagen, sigue estos pasos:
- Ejecuta el siguiente comando
gcloud compute images list --filterpara enumerar el nombre del recurso de una imagen de Managed Service 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 comando
gcloud compute images describepara ver los metadatos de la imagen.gcloud compute images describe --project=PROJECT_NAME IMAGE_NAME"
- Ejecuta el siguiente comando
- Para ver los metadatos de la imagen, sigue estos pasos:
- Prueba y valida que tus aplicaciones se ejecuten correctamente en clústeres creados con versiones de imágenes nuevas, en especial cuando uses versiones nuevas de imágenes principales.