Configurazione del cluster Dataproc

In Cloud Data Fusion, la configurazione dei cluster si riferisce alla definizione del modo in cui le pipeline di elaborazione dati utilizzano le risorse di calcolo durante l'esecuzione di job Spark su Dataproc. Questa pagina descrive i principali approcci alla configurazione del cluster.

Cluster temporanei predefiniti (consigliato)

L'uso dei cluster predefiniti è l'approccio consigliato per le pipeline di Cloud Data Fusion.

  • Cloud Data Fusion esegue automaticamente il provisioning e la gestione di cluster Dataproc temporanei per ogni esecuzione della pipeline. Crea un cluster all'inizio dell'esecuzione della pipeline, quindi lo elimina al termine dell'esecuzione della pipeline.
  • Vantaggi dei cluster temporanei:
    • Semplicità: non è necessario configurare o gestire manualmente il cluster.
    • Convenienza: paghi solo per le risorse utilizzate durante l'esecuzione della pipeline.

Per regolare i cluster e ottimizzare le prestazioni, vedi Dimensioni dei cluster.

Cluster statici (per scenari specifici)

Nei seguenti scenari, puoi utilizzare cluster statici:

  • Pipeline a lunga esecuzione: per le pipeline in esecuzione continua o per periodi prolungati, un cluster statico può essere più conveniente rispetto alla creazione e all'eliminazione ripetuti di cluster temporanei.
  • Gestione centralizzata dei cluster: se la tua organizzazione richiede un controllo centralizzato sui criteri di creazione e gestione dei cluster, i cluster statici possono essere utilizzati insieme a strumenti come Terraform.
  • Data e ora di creazione del cluster: il tempo necessario per creare un nuovo cluster per ogni pipeline è proibitivo per il tuo caso d'uso.

Tuttavia, i cluster statici richiedono una configurazione più manuale e implicano la gestione personale del ciclo di vita dei cluster.

Per utilizzare un cluster statico, devi impostare la seguente proprietà sul cluster Dataproc:

dataproc:dataproc.conscrypt.provider.enable=false

Opzioni di configurazione per i cluster statici

Se scegli di utilizzare cluster statici, Cloud Data Fusion offre opzioni di configurazione per i seguenti aspetti:

  • Tipo di macchina worker: specifica il tipo di macchina virtuale per i nodi Worker nel cluster. Questo determina le vCPU e la memoria disponibili per ciascun worker.
  • Numero di worker: definisci il numero iniziale di nodi worker nel cluster. Dataproc potrebbe comunque scalare automaticamente questo numero, in base al carico di lavoro.
  • Zona: seleziona la zona Google Cloud del cluster. La località può influire sulla località dei dati e sulle prestazioni della rete.
  • Configurazioni aggiuntive: puoi configurare opzioni avanzate per il cluster statico, ad esempio le impostazioni di prerilascio, le impostazioni di rete e le azioni di inizializzazione.

Best practice

Quando crei un cluster statico per le pipeline, utilizza le seguenti configurazioni.

Parametri Descrizione
yarn.nodemanager.delete.debug-delay-sec Conserva i log YARN.
Valore consigliato: 86400 (equivalente a un giorno)
yarn.nodemanager.pmem-check-enabled Consente a YARN di verificare i limiti di memoria fisica e di terminare i container se superano la memoria fisica.
Valore consigliato: false
yarn.nodemanager.vmem-check-enabled Consente a YARN di verificare i limiti di memoria virtuale e di terminare i container se vanno oltre la memoria fisica.
Valore consigliato: false.

Per ulteriori informazioni, consulta Eseguire una pipeline su un cluster Dataproc esistente.

Riutilizzo dei cluster

Puoi riutilizzare i cluster Dataproc tra le esecuzioni per migliorare i tempi di elaborazione. Il riutilizzo dei cluster viene implementato in un modello simile al pooling di connessioni o al pooling di thread. Tutti i cluster vengono mantenuti operativi per un periodo di tempo specificato al termine dell'esecuzione. Quando viene avviata una nuova esecuzione, tenta di trovare un cluster inattivo disponibile che corrisponde alla configurazione del profilo di computing. Se ne esiste uno, verrà usato, altrimenti verrà avviato un nuovo cluster.

Considerazioni sul riutilizzo dei cluster

  • I cluster non vengono condivisi. In modo simile al normale modello di provisioning temporaneo dei cluster, un cluster esegue un'unica pipeline eseguita alla volta. Un cluster viene riutilizzato solo se è inattivo.
  • Se abiliti il riutilizzo dei cluster per tutte le esecuzioni, verrà creato il numero necessario di cluster per elaborare tutte le esecuzioni, in base alle esigenze. Come per il provisioner di Dataproc temporaneo, non esiste un controllo diretto sul numero di cluster creati. Puoi continuare a usare i preventivi di Google Cloud per gestire le risorse. Ad esempio, se esegui 100 esecuzioni con un massimo di 7 esecuzioni parallele, avrai fino a 7 cluster in un determinato momento.
  • I cluster vengono riutilizzati tra diverse pipeline, quando queste utilizzano lo stesso profilo e condividono le stesse impostazioni di profilo. Se viene utilizzata la personalizzazione del profilo, i cluster saranno comunque riutilizzati, ma solo se le personalizzazioni sono esattamente le stesse, comprese tutte le impostazioni del cluster, come l'etichettatura dei cluster.

  • Quando il riutilizzo dei cluster è abilitato, esistono due considerazioni principali sui costi:

    • Vengono utilizzate meno risorse per l'avvio e l'inizializzazione del cluster.
    • Vengono utilizzate più risorse per fare in modo che i cluster rimangano inattivi tra le esecuzioni della pipeline e dopo l'ultima esecuzione della pipeline.

Sebbene sia difficile prevedere l'effetto sui costi del riutilizzo dei cluster, puoi utilizzare una strategia per ottenere il massimo risparmio. La strategia consiste nell'identificare un percorso critico per le pipeline concatenate e consentire il riutilizzo dei cluster. In questo modo il cluster viene riutilizzato immediatamente, senza sprechi di tempo e con i massimi vantaggi in termini di prestazioni.

Abilita riutilizzo del cluster

Nella sezione Configurazione Compute della configurazione della pipeline di cui è stato eseguito il deployment o durante la creazione di un nuovo profilo di computing:

  • Abilita Ignora eliminazione cluster.
  • Il tempo di inattività massimo è il tempo fino al quale un cluster attende che la pipeline successiva la riutilizzi. Il tempo di inattività massimo predefinito è 30 minuti. Per il tempo di inattività massimo, valuta il costo rispetto alla disponibilità del cluster per il riutilizzo. Più alto è il valore di Tempo massimo di inattività, maggiore è il numero di cluster inattivi, pronti per l'esecuzione.

Risoluzione dei problemi: compatibilità delle versioni

Problema: la versione dell'ambiente Cloud Data Fusion potrebbe non essere compatibile con la versione del cluster Dataproc.

Opzione consigliata: esegui l'upgrade alla versione più recente di Cloud Data Fusion e utilizza una delle versioni di Dataproc supportate.

Le versioni precedenti di Cloud Data Fusion sono compatibili solo con le versioni non supportate di Dataproc. Dataproc non fornisce aggiornamenti né assistenza per i cluster creati con queste versioni. Anche se puoi continuare a eseguire un cluster creato con una versione non supportata, ti consigliamo di sostituirlo con uno creato con una versione supportata.

Versione Cloud Data Fusion Versione Dataproc
6.10 e versioni successive 2,1, 2,0 *
6,9 2,1, 2,0 e 1,5 *
6,7-6,8 2,0, 1,5 *
6,4-6,6 2,0 *, 1,3 **
6,1-6,3 1,3**

* Le versioni 6.4 e successive di Cloud Data Fusion sono compatibili con le versioni supportate di Dataproc. A meno che non siano necessarie funzionalità del sistema operativo specifiche, la prassi consigliata è di specificare la versione dell'immagine major.minor.
Per specificare la versione del sistema operativo utilizzata nel cluster Dataproc, questa deve essere compatibile con una delle versioni di Dataproc supportate per Cloud Data Fusion nella tabella precedente.

** Le versioni di Cloud Data Fusion da 6.1 a 6.6 sono compatibili con Dataproc versione 1.3 non supportata.

Passaggi successivi