Gestion des versions Dataproc

Dataproc utilise des images pour relier les connecteurs Google Cloud Platform utiles et les composants Apache Spark et Apache Hadoop en un seul package pouvant ê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 régulièrement mises à jour pour inclure les dernières améliorations et caractéristiques. 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é, qui respecte le format suivant :

version_major.version_minor.version_sub_minor-os_distribution

Les distributions de système d'exploitation suivantes sont actuellement 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 disponible Les versions d'image Debian sont utilisées par défaut. Vous pouvez sélectionner une version d'image Debian, Rocky Linux ou Ubuntu lorsque vous créez un cluster (consultez la liste des versions d'image Dataproc). Lorsque vous spécifiez des images basées sur Debian, vous pouvez omettre la variable OS Distribution Suffixe de code, 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

Ouvrir Dataproc Créer un cluster . Le panneau "Configurer un cluster" est sélectionné. Le champ "Type et version d'image" de la section "Gestion des versions" affiche l'image qui sera utilisée lors de la création le cluster. La date de sortie de l'image est également indiquée. Initialement, l'image par défaut, la dernière version Debian disponible, est sélectionnée. Cliquez sur "CHANGE" (MODIFIER) pour afficher la liste des images disponibles. Vous pouvez sélectionner image standard ou image 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
    • Connecteurs Google Cloud
  • Modifications ou mises à jour majeures des fonctionnalités Dataproc

Les nouvelles versions preview (avec le suffixe -RC) sont publiées avant le lancement. d'une nouvelle version majeure:

  • Les images d'aperçu ne sont pas destinées à être utilisées dans les charges de travail de production.
  • Les versions de composants de l'image 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 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
    • Connecteurs Google Cloud
  • 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 régulièrement créées pour intégrer un ou plusieurs des éléments suivants:

  • 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

0.1 et 0.2

Les versions d'image alpha ou bêta publiées avant la disponibilité générale de Dataproc version 1.0 ne sont pas soumises aux règles de compatibilité de Dataproc.

Remarques importantes sur la gestion des versions

  • Les versions d'images contiennent les composants suivants :
  • Vos clusters Dataproc ne sont pas automatiquement mis à jour lorsque de nouvelles versions d'images sont publiées.
    • Recommandations:
    • Exécutez des clusters avec la dernière version d'image mineure. Les métadonnées d'image incluent un libellé previous-subminor, qui est défini sur true si les le cluster n'utilise pas la dernière version de l'image de correction.
      • Pour afficher les métadonnées d'une image :
        1. Exécutez la commande suivante : gcloud compute images list --filter 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)"
          
        2. Exécutez la commande gcloud compute images describe suivante pour afficher les métadonnées de l'image.
          gcloud compute images describe --project=PROJECT_NAME IMAGE_NAME"
          
    • 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 majeures.