Dataproc utilise des images pour relier les connecteurs utiles Google Cloud et les composants Apache Spark et Apache Hadoop en un seul package qui peut être déployé sur un cluster Dataproc. 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 de tâches, tels que Spark, Hadoop et Hive. Ces images sont mises à niveau périodiquement de manière à inclure les dernières améliorations et fonctionnalités. La gestion des versions de Dataproc 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 de système d'exploitation suivantes sont gérées :
| Code de distribution du système d'exploitation | 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'image pour obtenir la liste des distributions de système d'exploitation 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 correction et de système d'exploitation sont automatiquement définies sur la dernière version hebdomadaire.
Sélectionner des versions
Lorsque vous créez un cluster Dataproc, 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 Dataproc).
Lorsque vous spécifiez des images basées sur Debian, vous pouvez omettre le suffixe du code de distribution du système d'exploitation, par exemple en spécifiant 2.0 pour sélectionner l'image 2.0-debian10.
Le suffixe du système d'exploitation doit être utilisé pour sélectionner une image basée sur Rocky Linux ou Ubuntu, par exemple en spécifiant 2.0-ubuntu18.
Commande gcloud
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 de correction afin que la plus récente soit utilisée. Toutefois, si nécessaire, la version de correction peut être spécifiée, par exemple 2.0.20.
Vous pouvez vérifier quelle est la version actuelle à l'aide de 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"
}
}
}
Console
Ouvrez la page Créer un cluster de Dataproc. Le panneau Configurer un cluster est sélectionné. Les champs Type d'image et Version de la section Gestion des versions affichent l'image qui sera utilisée lors de la création du cluster. La date de disponibilité de l'image est également indiquée. Initialement, l'image par défaut, la dernière version Debian disponible, est affichée comme sélectionnée. Cliquez sur Modifier pour afficher une liste d'images disponibles. Vous pouvez sélectionner une image standard ou personnalisée à utiliser pour votre cluster.
Nouvelles versions
De nouvelles versions majeures sont créées périodiquement pour intégrer un ou plusieurs de ces éléments :
- Nouvelles versions majeures :
- Spark, Hadoop et autres composants big data
- Google Cloud connecteurs
- Modifications ou mises à jour majeures des fonctionnalités Dataproc
De nouvelles versions preview (avec le suffixe -RC) sont publiées avant la sortie d'une nouvelle version majeure :
- Les images preview ne sont pas destinées à être utilisées dans les charges de travail de production.
- Les versions des composants des images preview peuvent être mises à niveau vers la dernière version de composant disponible dans la version d'image GA post-preview.
De nouvelles versions mineures sont créées périodiquement pour intégrer un ou plusieurs de ces éléments :
- Nouvelles versions et mises à jour mineures :
- Spark, Hadoop et autres composants big data
- Google Cloud connecteurs
- Modifications ou mises à jour mineures des fonctionnalités Dataproc
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 de correction sont créées périodiquement pour intégrer un ou plusieurs de ces éléments :
- Correctifs ou solutions pour un composant de l'image
- Mises à niveau des versions de correction des composants
Compatibilité des images de version avec Dataproc
Les versions d'image mineures sont compatibles pendant 24 mois après leur disponibilité générale. Pendant ce délai, les clusters utilisant ces versions d'image peuvent bénéficier d'une assistance (réception de correctifs, nouvelle création d'un cluster en utilisant la dernière version d'image mineure acceptée). Une fois ce délai passé, l'assistance n'est plus disponible.
Anciennes versions d'image
Distributions de système d'exploitation précédemment compatibles
Les distributions de système d'exploitation suivantes étaient précédemment compatibles :
| Code de distribution du système d'exploitation | Distribution du système d'exploitation | Dernier correctif (fin de compatibilité) |
|---|---|---|
| debian9 | Debian 9 | 10 juillet 2020 |
| deb8 | Debian 8 | 26 octobre 2018 |
Versions d'image sans distribution de système d'exploitation 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 alpha ou bêta publiées avant
la disponibilité générale de la version 1.0 de Dataproc
ne sont pas soumises aux
règles de compatibilité de Dataproc.
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 lorsque vous créez un cluster
- Vos clusters Dataproc ne sont pas automatiquement mis à jour lorsque de nouvelles versions d'image sont disponibles.
- Recommandations :
- Exécutez les clusters avec la dernière
version d'image de correction.
Les métadonnées d'image incluent un libellé
previous-subminor, défini surtruesi le cluster n'utilise pas la dernière version d'image de correction.- Pour afficher les métadonnées d'image :
- Exécutez la commande
gcloud compute images list --filtersuivante pour répertorier le nom de ressource d'une image Dataproc.gcloud compute images list --project=PROJECT_NAME --filter="labels.goog-dataproc-version ~ ^IMAGE_VERSION (such as
2.2.16-debian12)" - Exécutez la commande suivante
gcloud compute images describepour 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'image :
- Testez vos applications et validez leur bon fonctionnement sur les clusters créés avec de nouvelles versions d'image, en particulier lorsque vous utilisez de nouvelles versions d'image majeures.