Controllo delle versioni di Dataproc

Dataproc utilizza le immagini per riunire connettori Google Cloud utili e componenti Apache Spark e Apache Hadoop in un unico pacchetto che puoi eseguire in un cluster Dataproc. Queste immagini contengono il sistema operativo di base (Debian o Ubuntu) per il cluster, insieme ai componenti di base e facoltativi necessari per eseguire i job, come Spark, Hadoop e Hive. Viene eseguito periodicamente l'upgrade di queste immagini per includere nuovi miglioramenti e funzionalità. Il controllo delle versioni di Dataproc ti consente di selezionare insiemi di versioni del software quando crei i cluster.

Come funziona il controllo delle versioni

Quando viene creata un'immagine, viene assegnato un numero di versione dell'immagine nel seguente formato:

version_major.version_minor.version_sub_minor-os_distribution

Le seguenti distribuzioni del sistema operativo sono supportate:

Codice distribuzione del sistema operativo Distribuzione sistema operativo
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

Consulta le vecchie versioni delle immagini per le distribuzioni del sistema operativo supportate in precedenza.

La pratica consigliata è specificare la versione dell'immagine major.minor per gli ambienti di produzione o quando è importante la compatibilità con versioni specifiche dei componenti. Le distribuzioni subminor e OS vengono impostate automaticamente sull'ultima release settimanale.

Seleziona versioni

Quando crei un nuovo cluster Dataproc, per impostazione predefinita viene utilizzata la versione più recente dell'immagine Debian disponibile. Puoi selezionare una versione dell'immagine Debian, Rocky Linux o Ubuntu durante la creazione di un cluster (consulta l'elenco delle versioni delle immagini Dataproc). Quando specifichi le immagini basate su Debian, puoi omettere il suffisso del codice della distribuzione del sistema operativo, ad esempio specificando 2.0 per selezionare l'immagine 2.0-debian10. Il suffisso del sistema operativo deve essere utilizzato per selezionare un'immagine basata su Rocky Linux o Ubuntu, ad esempio specificando 2.0-ubuntu18.

Comando g-cloud

Quando utilizzi il comando gcloud dataproc clusters create, puoi utilizzare l'argomento --image-version per specificare una versione dell'immagine per il nuovo cluster.

Esempio di immagine Debian:

gcloud dataproc clusters create CLUSTER_NAME \
    --image-version=2.0 \
    --region=REGION

Esempio di immagine Ubuntu:

gcloud dataproc clusters create CLUSTER_NAME \
    --image-version=2.0-ubuntu18 \
    --region=REGION

La best practice è omettere la versione secondaria in modo da utilizzare la versione secondaria più recente. Tuttavia, se necessario, è possibile specificare la versione secondaria, ad esempio 2.0.20.

Puoi controllare la versione corrente con Google Cloud CLI.

gcloud dataproc clusters describe CLUSTER_NAME \
    --region=REGION

API REST

Puoi specificare il campo SoftwareConfig imageVersion all'interno di una richiesta API cluster.create.

Esempio

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

Apri la pagina Dataproc Crea un cluster. Il riquadro Configura cluster è selezionato. I campi Tipo di immagine e Versione nella sezione Controllo delle versioni mostrano l'immagine che verrà utilizzata per creare il cluster. Viene mostrata anche la data di rilascio dell'immagine. Inizialmente, l'immagine predefinita, ovvero la versione di Debian più recente disponibile, viene mostrata come selezionata. Fai clic su Cambia per visualizzare un elenco di immagini disponibili. Puoi selezionare un'immagine standard o personalizzata da utilizzare per il tuo cluster.

Quando vengono create nuove versioni

Vengono create periodicamente nuove versioni principali per incorporare uno o più dei seguenti elementi:

  • Uscite principali per:
    • Spark, Hadoop e altri componenti Big Data
    • Google Cloud connettori
  • Modifiche o aggiornamenti importanti alla funzionalità di Dataproc

Le nuove versioni di anteprima (con il suffisso -RC) vengono rilasciate prima del rilascio di una nuova versione principale:

  • Le immagini di anteprima non sono destinate all'uso nei workload di produzione.
  • Le versioni dei componenti delle immagini di anteprima potrebbero essere aggiornate alla versione più recente del componente disponibile nella versione dell'immagine GA post-anteprima.

Vengono create periodicamente nuove versioni minor per incorporare uno o più dei seguenti elementi:

  • Uscite minori e aggiornamenti per:
    • Spark, Hadoop e altri componenti Big Data
    • Google Cloud connettori
  • Modifiche o aggiornamenti minori alla funzionalità di Dataproc

Quando viene creata una nuova versione minore, la relativa immagine Debian diventa predefinita per la versione principale e rappresenta l'ultima release della versione principale.

Vengono create periodicamente nuove versioni minor per incorporare uno o più dei seguenti elementi:

  • Patch o correzioni per un componente nell'immagine
  • Upgrade delle versioni secondarie dei componenti

Supporto per le versioni immagine e Dataproc

Le versioni secondarie delle immagini sono supportate per 24 mesi dopo il rilascio iniziale con disponibilità generale (GA). Durante questo periodo, i cluster che utilizzano queste versioni dell'immagine sono idonei per l'assistenza (per ricevere le correzioni, ricrea il cluster utilizzando la versione dell'immagine secondaria più recente supportata). Una volta chiusa la finestra di assistenza, i cluster che utilizzano le versioni delle immagini non sono più idonei per l'assistenza.

Versioni precedenti delle immagini

Distribuzioni del sistema operativo supportate in precedenza

In precedenza erano supportate le seguenti distribuzioni del sistema operativo:

Codice distribuzione del sistema operativo Distribuzione sistema operativo Ultimo aggiornamento (fine del supporto)
debian9 Debian 9 10 luglio 2020
deb8 Debian 8 26 ottobre 2018

Versioni delle immagini senza distribuzione del sistema operativo esplicita

Prima del 16 agosto 2018, le versioni delle immagini venivano create con Debian 8 e il codice della distribuzione del sistema operativo veniva omesso. Sono specificati nel seguente formato:

version_major.version_minor.version_sub_minor

Versioni 0.1 e 0.2

Le versioni delle immagini rilasciate come release alpha o beta prima della disponibilità generale della versione 1.0 di Dataproc non sono soggette alle norme relative all'assistenza di Dataproc.

Note importanti sulla gestione delle versioni

  • Le versioni delle immagini contengono i seguenti componenti:
  • I cluster Dataproc non vengono aggiornati automaticamente quando vengono rilasciate nuove versioni delle immagini.
    • Consigli:
    • Esegui i cluster con l'ultima versione dell'immagine secondaria. I metadati dell'immagine includono un'etichetta previous-subminor, impostata su true se il cluster non utilizza la versione dell'immagine secondaria più recente.
      • Per visualizzare i metadati delle immagini:
        1. Esegui il seguente gcloud compute images list --filter comando per elencare il nome della risorsa di un'immagine Dataproc.
          gcloud compute images list --project=PROJECT_NAME --filter="labels.goog-dataproc-version ~ ^IMAGE_VERSION (such as 2.2.16-debian12)"
          
        2. Esegui il seguente gcloud compute images describe per visualizzare i metadati dell'immagine.
          gcloud compute images describe --project=PROJECT_NAME IMAGE_NAME"
          
    • Testa e convalida il corretto funzionamento delle applicazioni sui cluster creati con nuove versioni delle immagini, in particolare quando utilizzi nuove release principali delle versioni delle immagini.