Questo documento illustra le best practice di Dataproc che possono aiutarti a eseguire job di elaborazione dati affidabili, efficienti e approfonditi sui cluster Dataproc in ambienti di produzione.
Specifica le versioni delle immagini del cluster
Dataproc utilizza le versioni immagine per raggruppare il sistema operativo, i componenti di big data e i connettori Google Cloud in un pacchetto di cui viene eseguito il deployment in un cluster. Se non specifichi una versione immagine durante la creazione di un cluster, Dataproc utilizza per impostazione predefinita la versione dell'immagine stabile più recente.
Per gli ambienti di produzione, associa il cluster a una specifica versione dell'immagine major.minor
Dataproc, come mostrato nel seguente comando gcloud CLI.
gcloud dataproc clusters create CLUSTER_NAME \ --region=region \ --image-version=2.0
Dataproc risolve la versione major.minor
all'ultima versione secondaria secondaria
(2.0
è risolto in 2.0.x
). Nota: se devi fare affidamento su una versione secondaria secondaria per il tuo cluster,
puoi specificarla: ad esempio, --image-version=2.0.x
. Per ulteriori informazioni, consulta Come funziona il controllo delle versioni.
Versioni immagine di anteprima di Dataproc
Le nuove versioni secondarie delle immagini Dataproc sono disponibili in una versione preview
prima del rilascio nel canale della versione delle immagini secondarie standard. Utilizza un'immagine di anteprima per testare e convalidare i tuoi job rispetto a una nuova versione dell'immagine secondaria prima di adottare la versione standard dell'immagine secondaria in produzione.
Per ulteriori informazioni, consulta Controllo delle versioni di Dataproc.
Utilizzare immagini personalizzate quando necessario
Se devi aggiungere dipendenze al cluster, ad esempio librerie Python native o software di protezione della sicurezza o protezione antivirus, crea un'immagine personalizzata dall'immagine più recente nel canale della versione dell'immagine secondaria di destinazione. In questo modo puoi soddisfare i requisiti di dipendenza quando crei cluster utilizzando l'immagine personalizzata. Quando ricrei l'immagine personalizzata per aggiornare i requisiti di dipendenza, utilizza la versione più recente dell'immagine sub-minore disponibile nel canale dell'immagine secondaria.
Invio di job al servizio Dataproc
Invia job al servizio Dataproc con una chiamata jobs.submit utilizzando gcloud CLI o la console Google Cloud. Imposta le autorizzazioni di job e cluster concedendo i ruoli Dataproc. Utilizza i ruoli personalizzati per separare l'accesso al cluster dalle autorizzazioni di invio dei job.
Vantaggi dell'invio di job al servizio Dataproc:
- Non sono necessarie impostazioni di rete complesse: l'API è ampiamente raggiungibile
- Autorizzazioni e ruoli IAM facili da gestire
- Monitora facilmente lo stato del job: non ci sono metadati del job di Dataproc che complichi i risultati.
In produzione, esegui job che dipendono solo dalle dipendenze a livello di cluster in una versione fissa dell'immagine secondaria (ad esempio --image-version=2.0
). Raggruppa le dipendenze con i job quando i job vengono inviati. Un modo comune per farlo è inviare un uber jar a Spark o MapReduce.
- Esempio: se un jar del job dipende da
args4j
espark-sql
, conargs4j
specifico per il job espark-sql
una dipendenza a livello di cluster, raggruppaargs4j
nell'uber jar del job.
Controlla le località delle azioni di inizializzazione
Le azioni di inizializzazione consentono di eseguire automaticamente script o installare componenti quando crei un cluster Dataproc (consulta il repository dataproc-initialization-actions di GitHub per le azioni di inizializzazione comuni di Dataproc). Quando utilizzi azioni di inizializzazione del cluster in un ambiente di produzione, copia gli script di inizializzazione in Cloud Storage invece di acquisirli da un repository pubblico. Questa pratica evita di eseguire script di inizializzazione soggetti a modifiche da parte di altri.
Monitoraggio delle note di rilascio di Dataproc
Dataproc rilascia regolarmente nuove versioni di immagini secondarie. Visualizza o abbonati alle note di rilascio di Dataproc per conoscere le ultime release della versione delle immagini Dataproc e altri annunci, modifiche e correzioni.
Visualizza il bucket gestione temporanea per esaminare gli errori
Esamina il bucket gestione temporanea del tuo cluster per esaminare i messaggi di errore del cluster e del job. In genere, la località di Cloud Storage del bucket gestione temporanea viene visualizzata nei messaggi di errore, come mostrato in grassetto nel seguente messaggio di errore di esempio:
ERROR: (gcloud.dataproc.clusters.create) Operation ... failed: ... - Initialization action failed. Failed action ... see output in: gs://dataproc-<BUCKETID>-us-central1/google-cloud-dataproc-metainfo/CLUSTERID/<CLUSTER_ID>\dataproc-initialization-script-0_output
Utilizza
gsutil
per visualizzare i contenuti del bucket gestione temporanea:gsutil cat gs://STAGING_BUCKET
Esempio di output:+ readonly RANGER_VERSION=1.2.0 ... Ranger admin password not set. Please use metadata flag - default-password
Ricevi assistenza
Google Cloud supporta i carichi di lavoro OSS di produzione e ti aiuta a rispettare gli SLA (accordi sul livello del servizio) aziendali tramite livelli di assistenza. Inoltre, i servizi di consulenza di Google Cloud possono fornire indicazioni sulle best practice per i deployment di produzione del tuo team.
Per maggiori informazioni
Leggi il blog di Google Cloud Guida alle best practice per Dataproc.
Visualizza Democratizzazione di Dataproc su YouTube.