Managed Service pour Apache Spark sur les clusters utilise des images pour regrouper les connecteurs Google Cloudutiles et les composants Apache Spark et Apache Hadoop dans un seul package pouvant être déployé sur un cluster Managed Service pour Apache Spark. Ces images contiennent le système d'exploitation de base (Debian ou Ubuntu) du cluster, ainsi que les composants principaux et facultatifs nécessaires à l'exécution des jobs, tels que Spark, Hadoop et Hive. Ces images sont régulièrement mises à niveau pour inclure de nouvelles améliorations et fonctionnalités. La gestion des versions de Managed Service pour Apache Spark vous permet de sélectionner des ensembles de versions logicielles lorsque vous créez des clusters.
Fonctionnement de la gestion des versions
Lorsqu'une image est créée, un numéro de version d'image lui est attribué au format suivant :
version_major.version_minor.version_sub_minor-os_distribution
Les distributions d'OS suivantes sont gérées :
| Code de distribution de l'OS | Distribution de l'OS |
|---|---|
| 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 |
Consultez la section Anciennes versions d'images pour connaître les distributions d'OS précédemment compatibles.
La méthode recommandée consiste à spécifier la version d'image major.minor pour les environnements de production ou lorsqu'il est important d'assurer la compatibilité avec des versions de composants spécifiques. Les distributions de sous-versions mineures et d'OS sont automatiquement définies sur la dernière version hebdomadaire.
Sélectionner des versions
Lorsque vous créez un cluster Managed Service pour Apache Spark, la dernière version d'image Debian disponible est utilisée par défaut. Vous pouvez sélectionner une version d'image Debian, Rocky Linux ou Ubuntu lors de la création d'un cluster (consultez la liste des versions d'image Managed Service pour Apache Spark).
Lorsque vous spécifiez des images basées sur Debian, vous pouvez omettre le suffixe du code de distribution de l'OS, par exemple en spécifiant 2.0 pour sélectionner l'image 2.0-debian10.
Le suffixe de l'OS doit être utilisé pour sélectionner une image basée sur Rocky Linux ou Ubuntu, par exemple en spécifiant 2.0-ubuntu18.
ConsoleGoogle Cloud
Ouvrez la page Créer un cluster. Dans la section Définir votre cluster, le champ déroulant Type et version d'image affiche l'image qui sera utilisée lors de la création du cluster. Au départ, l'image par défaut, qui correspond à la dernière version de Debian disponible, est sélectionnée. Cliquez sur le champ pour sélectionner une image dans la liste des images standards disponibles ou pour sélectionner une image personnalisée.
Commande gcloud CLI
Lorsque vous utilisez la commande gcloud dataproc clusters create, vous pouvez utiliser l'argument --image-version pour spécifier une version d'image pour le nouveau cluster.
Exemple d'image Debian :
gcloud dataproc clusters create CLUSTER_NAME \ --image-version=2.0 \ --region=REGION
Exemple d'image Ubuntu :
gcloud dataproc clusters create CLUSTER_NAME \ --image-version=2.0-ubuntu18 \ --region=REGION
Il est recommandé d'omettre la version mineure afin que la dernière version mineure soit utilisée. Toutefois, si nécessaire, vous pouvez spécifier la version mineure, par exemple 2.0.20.
Vous pouvez vérifier votre version actuelle avec la Google Cloud CLI.
gcloud dataproc clusters describe CLUSTER_NAME \ --region=REGION
API REST
Vous pouvez spécifier le champ SoftwareConfig
imageVersion dans le cadre d'une requête d'API cluster.create.
Exemple
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"
}
}
}
Nouvelles versions
De nouvelles versions majeures sont créées régulièrement pour intégrer un ou plusieurs des éléments suivants :
- Nouvelles versions majeures :
- Spark, Hadoop et autres composants big data
- Google Cloud connecteurs
- Modifications ou mises à jour majeures des fonctionnalités de Managed Service pour Apache Spark
De nouvelles versions preview (avec un suffixe -RC) sont publiées avant la sortie d'une nouvelle version majeure :
- Les images en version preview ne sont pas destinées à être utilisées dans des charges de travail de production.
- Les versions des composants de l'image en version preview peuvent être mises à niveau vers la dernière version disponible du composant dans la version de l'image en disponibilité générale post-preview.
De nouvelles versions mineures sont créées régulièrement pour intégrer un ou plusieurs des éléments suivants :
- Nouvelles versions et mises à jour mineures :
- Spark, Hadoop et autres composants big data
- Google Cloud connecteurs
- Modifications ou mises à jour mineures des fonctionnalités de Managed Service pour Apache Spark
Lorsqu'une version mineure est créée, son image Debian devient la valeur par défaut de la version majeure et représente la dernière version de la version majeure.
De nouvelles versions subminor sont créées régulièrement pour intégrer un ou plusieurs des éléments suivants :
- Correctifs ou solutions pour un composant de l'image
- Mises à niveau de versions mineures de composants
Version d'image et compatibilité avec Managed Service pour Apache Spark
Les versions d'image mineures sont compatibles pendant 24 mois après leur disponibilité générale. Pendant cette période, les clusters utilisant ces versions d'image sont éligibles à l'assistance (pour recevoir des correctifs, recréez votre cluster à l'aide de la dernière version d'image mineure compatible). Une fois la période d'assistance terminée, les clusters utilisant les versions d'image ne sont plus éligibles à l'assistance.
Anciennes versions d'image
Distributions d'OS précédemment compatibles
Les distributions d'OS suivantes étaient auparavant compatibles :
| Code de distribution de l'OS | Distribution de l'OS | Dernier correctif (fin de compatibilité) |
|---|---|---|
| debian9 | Debian 9 | 10 juillet 2020 |
| deb8 | Debian 8 | 26 octobre 2018 |
Versions d'image sans distribution d'OS explicite
Avant le 16 août 2018, les versions d'image étaient conçues avec Debian 8 et n'incluaient pas le code de distribution du système d'exploitation. Elles sont spécifiées au format suivant :
version_major.version_minor.version_sub_minor
Versions 0.1 et 0.2
Les versions d'image publiées en version alpha ou bêta avant la disponibilité générale de la version 1.0 de Managed Service pour Apache Spark ne sont pas soumises à la politique d'assistance de Managed Service pour Apache Spark.
Remarques importantes sur la gestion des versions
- Les versions d'image contiennent les composants suivants :
- Composants principaux installés sur tous les clusters, tels que Spark, Hadoop et Hive
- Composants facultatifs que vous spécifiez lors de la création d'un cluster
- Vos clusters Managed Service pour Apache Spark ne sont pas automatiquement mis à jour lorsque de nouvelles versions d'image sont publiées.
- Recommandations :
- Exécutez des clusters avec la dernière version d'image sous-mineure.
Les métadonnées d'image incluent un libellé
previous-subminor, qui est défini surtruesi le cluster n'utilise pas la dernière version d'image mineure.- Pour afficher les métadonnées d'une image :
- Exécutez la commande
gcloud compute images list --filtersuivante pour lister le nom de ressource d'une image Managed Service pour Apache Spark.gcloud compute images list --project=PROJECT_NAME --filter="labels.goog-dataproc-version ~ ^IMAGE_VERSION (such as
2.2.16-debian12)" - Exécutez la commande
gcloud compute images describesuivante pour afficher les métadonnées de l'image.gcloud compute images describe --project=PROJECT_NAME IMAGE_NAME"
- Exécutez la commande
- Pour afficher les métadonnées d'une image :
- Testez et vérifiez que vos applications s'exécutent correctement sur les clusters créés avec de nouvelles versions d'image, en particulier lorsque vous utilisez de nouvelles versions d'image majeures.