Modificare la versione dell'immagine Dataproc in Cloud Data Fusion

Questa pagina descrive come modificare la versione dell'immagine Dataproc utilizzata dall'istanza Cloud Data Fusion. Puoi modificare l'immagine a livello di istanza, spazio dei nomi o pipeline.

Prima di iniziare

Arresta tutte le pipeline in tempo reale e i job di replica nell'istanza Cloud Data Fusion. Se una pipeline o una replica in tempo reale è in esecuzione quando modifichi la versione dell'immagine Dataproc, le modifiche non vengono applicate all'esecuzione della pipeline.

Per le pipeline in tempo reale, se il checkpoint è attivato, l'interruzione delle pipeline non causa alcuna perdita di dati. Per i job di replica, finché i log del database sono disponibili, l'interruzione e l'avvio del job di replica non causano la perdita di dati.

Console

  1. Vai alla pagina Istanze di Cloud Data Fusion e apri l'istanza in cui devi interrompere una pipeline.

    Vai a Istanze

  2. Apri ogni pipeline in tempo reale in Pipeline Studio e fai clic su Interrompi.

  3. Apri ogni job di replica nella pagina Replica e fai clic su Interrompi.

API REST

  • Per recuperare tutte le pipeline, utilizza la seguente chiamata API REST:

    GET -H "Authorization: Bearer ${AUTH_TOKEN}" \
    "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps"
    

    Sostituisci NAMESPACE_ID con il nome del tuo spazio dei nomi.

  • Per arrestare una pipeline in tempo reale, utilizza la seguente chiamata API REST:

    POST -H "Authorization: Bearer ${AUTH_TOKEN}" \
    "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/PIPELINE_NAME/spark/DataStreamsSparkStreaming/stop"
    

    Sostituisci NAMESPACE_ID con il nome del tuo spazio dei nomi e PIPELINE_NAME con il nome della pipeline in tempo reale.

  • Per interrompere un job di replica, utilizza la seguente chiamata API REST:

    POST -H "Authorization: Bearer ${AUTH_TOKEN}" \
    "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/REPLICATION_JOB_NAME/workers/DeltaWorker/stop"
    

    Sostituisci NAMESPACE_ID con il nome del tuo spazio dei nomi e REPLICATION_JOB_NAME con il nome del job di replica.

    Per saperne di più, consulta Arresto delle pipeline in tempo reale e Arresto dei job di replica.

Controllare e sostituire la versione predefinita di Dataproc in Cloud Data Fusion

  1. Vai all'interfaccia web di Cloud Data Fusion.

  2. Fai clic su Amministratore di sistema > Configurazione > Preferenze di sistema.

    Fai clic su Modifica preferenze di sistema.

  3. Se un'immagine Dataproc non è specificata in Preferenze di Sistema o per modificare la preferenza, fai clic su Modifica Preferenze di Sistema.

    1. Inserisci il seguente testo nel campo Chiave:

      system.profile.properties.imageVersion

    2. Inserisci l'immagine Dataproc scelta nel campo Valore, ad esempio 2.1.

    3. Fai clic su Salva e chiudi.

Impostare le preferenze per il sistema

Questa modifica interessa l'intera istanza di Cloud Data Fusion, inclusi tutti i relativi spazi dei nomi e le esecuzioni delle pipeline, a meno che la proprietà della versione dell'immagine non venga ignorata in uno spazio dei nomi, in una pipeline o in un argomento di runtime nell'istanza.

Modifica la versione dell'immagine Dataproc

La versione dell'immagine può essere impostata nell'interfaccia web di Cloud Data Fusion in Configurazioni di Compute, Preferenze dello spazio dei nomi o Argomenti di runtime della pipeline.

Modificare l'immagine in Preferenze spazio dei nomi

Se hai sostituito la versione dell'immagine nelle proprietà dello spazio dei nomi, segui questi passaggi:

  1. Vai all'interfaccia web di Cloud Data Fusion.

  2. Fai clic su Amministratore di sistema > Configurazione > Spazi dei nomi.

  3. Apri ogni spazio dei nomi e fai clic su Preferenze.

    1. Assicurati che non esista un override con la chiave system.profile.properties.imageVersion con un valore di versione dell'immagine errato.

    2. Fai clic su Fine.

Modificare l'immagine in Profili di calcolo del sistema

  1. Vai all'interfaccia web di Cloud Data Fusion.

  2. Fai clic su Amministratore di sistema > Configurazione.

  3. Fai clic su Sistema Profili di calcolo > Crea nuovo profilo.

  4. Seleziona il provisioner Dataproc.

    Seleziona il provisioner Dataproc

  5. Crea il profilo per Dataproc. Nel campo Versione immagine, inserisci una versione immagine di Dataproc.

    Inserisci la versione dell'immagine

  6. Seleziona questo profilo di calcolo durante l'esecuzione della pipeline nella pagina Studio. Nella pagina di esecuzione della pipeline, fai clic su Configura > Configurazione di calcolo e seleziona questo profilo.

  7. Seleziona il profilo Dataproc e fai clic su Salva.

  8. Fai clic su Fine.

Modificare l'immagine in Argomenti di runtime della pipeline

Se hai sostituito la versione dell'immagine con una proprietà negli argomenti di runtime della pipeline, segui questi passaggi:

  1. Vai all'interfaccia web di Cloud Data Fusion.

  2. Fai clic su menu Menu > Elenco.

  3. Nella pagina Elenco, seleziona la pipeline che vuoi aggiornare.

    La pipeline si apre nella pagina Studio.

  4. Per espandere le opzioni Esegui, fai clic sulla Freccia di espansione .

    Si apre la finestra Runtime Arguments (Argomenti di runtime).

  5. Verifica che non sia presente un override con la chiave system.profile.properties.imageVersion con una versione dell'immagine errata come valore.

  6. Fai clic su Salva.

    Imposta l'argomento di runtime della pipeline

Ricrea i cluster Dataproc statici utilizzati da Cloud Data Fusion con la versione dell'immagine scelta

Se utilizzi cluster Dataproc esistenti con Cloud Data Fusion, segui la guida di Dataproc per ricreare i cluster con la versione dell'immagine Dataproc scelta per la tua versione di Cloud Data Fusion.

In alternativa, puoi creare un nuovo cluster Dataproc con la versione dell'immagine Dataproc scelta ed eliminare e ricreare il profilo di calcolo in Cloud Data Fusion con lo stesso nome del profilo di calcolo e il nome del cluster Dataproc aggiornato. In questo modo, l'esecuzione delle pipeline batch può essere completata sul cluster esistente e le esecuzioni successive della pipeline avvengono sul nuovo cluster Dataproc. Puoi eliminare il vecchio cluster Dataproc dopo aver verificato che tutte le esecuzioni della pipeline sono state completate.

Verifica che la versione dell'immagine Dataproc sia aggiornata

Console

  1. Nella console Google Cloud , vai alla pagina Cluster di Dataproc.

    Vai a Cluster

  2. Apri la pagina Dettagli cluster per il nuovo cluster creato da Cloud Data Fusion quando hai specificato la nuova versione.

    Il campo Versione immagine contiene il nuovo valore specificato in Cloud Data Fusion.

API REST

  1. Recupera l'elenco dei cluster con i relativi metadati:

    GET -H "Authorization: Bearer ${AUTH_TOKEN}" \
    https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION_ID/clusters
    

    Sostituisci quanto segue:

    • PROJECT_ID con il nome del tuo spazio dei nomi
    • REGION_ID con il nome della regione in cui si trovano i tuoi cluster
  2. Cerca il nome della pipeline (nome del cluster).

  3. Sotto l'oggetto JSON, vedi l'immagine in config > softwareConfig > imageVersion.

Modifica l'immagine Dataproc alla versione 2.1 o successive

Le versioni 6.9.1 e successive di Cloud Data Fusion supportano l'immagine Compute Engine 2.1 di Dataproc, che viene eseguita in Java 11. Nelle versioni 6.10.0 e successive, l'immagine 2.1 è quella predefinita.

Se passi all'immagine 2.1 o versioni successive da un'immagine precedente, affinché le pipeline batch e i job di replica vadano a buon fine, i driver JDBC utilizzati dai plug-in di database in queste istanze devono essere compatibili con Java 11.

Le immagini Dataproc 2.2 e 2.1 presentano le seguenti limitazioni in Cloud Data Fusion:

  • I job MapReduce non sono supportati.
  • Le versioni dei driver JDBC utilizzate nei plug-in del database nella tua istanza devono essere aggiornate per supportare Java 11. Consulta la seguente tabella per le versioni dei driver che funzionano con Dataproc 2.2, 2.1 e Java 11:
Driver JDBC Versioni precedenti rimosse da Cloud Data Fusion 6.9.1 Versioni supportate di Java 8 e Java 11 che funzionano con Dataproc 2.2, 2.1 o 2.0
Driver JDBC per Cloud SQL per MySQL - 1.0.16
Driver JDBC per Cloud SQL per PostgreSQL - 1.0.16
Driver JDBC di Microsoft SQL Server Driver Microsoft JDBC 6.0 Driver Microsoft JDBC 9.4
Driver JDBC di MySQL 5.0.8, 5.1.39 8.0.25
Driver JDBC PostgreSQL 9.4.1211.jre7, 9.4.1211.jre8 42.6.0.jre8
Driver JDBC Oracle ojdbc7 ojdbc8 (12c e versioni successive)

Utilizzo della memoria quando utilizzi Dataproc 2.1 o versioni successive

L'utilizzo della memoria potrebbe aumentare per le pipeline che utilizzano Dataproc 2.1 o versioni successive. Se esegui l'upgrade dell'istanza alla versione 6.10 o successive e le pipeline precedenti non riescono a causa di problemi di memoria, aumenta la memoria del driver e dell'executor a 2048 MB nella configurazione Resources per la pipeline.

Aumenta la memoria del driver e dell'executor

In alternativa, puoi sostituire la versione di Dataproc impostando l'argomento di runtime system.profile.properties.imageVersion su 2.0-debian10.