Questo documento illustra le best practice di Dataproc che possono aiutarti job di elaborazione dati affidabili, efficienti e approfonditi su di 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 dei big data, connettori e 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 il valore predefinito è la versione dell'immagine stabile più recente.
Per gli ambienti di produzione, associa il cluster a un
major.minor
versione immagine Dataproc, come
come mostrato nel seguente comando
gcloud CLId.
gcloud dataproc clusters create CLUSTER_NAME \ --region=region \ --image-version=2.0
Dataproc risolve la versione major.minor
all'ultima versione secondaria inferiore
(2.0
è stato risolto in 2.0.x
). Nota: se devi fare affidamento su una versione secondaria specifica per il tuo cluster,
puoi specificarlo: ad esempio, --image-version=2.0.x
. Consulta
Come funziona il controllo delle versioni per
ulteriori informazioni.
Versioni immagine di anteprima Dataproc
Nuove versioni secondarie di Dataproc
le immagini sono disponibili in una versione preview
prima del rilascio
nella traccia della versione dell'immagine secondaria standard. Utilizzare un'immagine di anteprima
per testare e convalidare i tuoi job rispetto a una nuova versione immagine secondaria
prima di adottare la versione standard
dell'immagine secondaria in produzione.
Consulta Controllo delle versioni di Dataproc
per ulteriori informazioni.
Utilizza immagini personalizzate quando necessario
Se hai dipendenze da aggiungere al cluster, ad esempio native librerie Python o software di protezione avanzata o protezione antivirus, crea un'immagine personalizzata dall'immagine più recente nel canale della versione dell'immagine secondaria di destinazione. Questa pratica ti consente di soddisfare i requisiti delle dipendenze quando crei i cluster utilizzando la tua immagine personalizzata. Quando ricrei l'immagine personalizzata requisiti delle dipendenze per l'aggiornamento, usa la versione più recente dell'immagine secondaria disponibile all'interno della traccia delle immagini secondarie.
Invio di job al servizio Dataproc
Invia job al servizio Dataproc con un jobs.submit utilizzando gcloud CLI o la console Google Cloud. Imposta le autorizzazioni per job e cluster concedendo Ruoli Dataproc. Utilizza le funzionalità di ruoli personalizzati per separare l'accesso al cluster dalle autorizzazioni di invio dei job.
Vantaggi dell'invio dei job al servizio Dataproc:
- Non sono necessarie impostazioni di rete complicate: l'API è ampiamente raggiungibile
- Autorizzazioni e ruoli IAM facili da gestire
- Monitora facilmente lo stato del job: non esistono metadati dei job Dataproc che complicano i risultati.
In produzione, esegui job che dipendono solo dal livello di cluster
di dipendenze in una versione immagine secondaria fissa (ad esempio --image-version=2.0
). Pacchetto
con i job quando vengono inviati. Invio in corso...
un uber jar per
A questo scopo, vengono spesso utilizzati Spark o MapReduce.
- Esempio: se il jar di un job dipende da
args4j
espark-sql
, conargs4j
specifico per il job espark-sql
una dipendenza a livello di cluster, raggruppaargs4j
nel jar uber del job.
Controlla le località delle azioni di inizializzazione
Azioni di inizializzazione di eseguire automaticamente script o installare quando crei un cluster Dataproc (vedi il dataproc-initialization-actions repository GitHub per azioni comuni di inizializzazione di Dataproc). Quando utilizzi azioni di inizializzazione del cluster in un ambiente copia gli script di inizializzazione in Cloud Storage anziché reperirli da un repository pubblico. Questa pratica evita di correre script di inizializzazione soggetti a modifiche da parte di altri utenti.
Monitora le note di rilascio di Dataproc
Dataproc rilascia regolarmente nuove versioni immagine secondarie. Visualizza o iscriviti alle note di rilascio di Dataproc per conoscere le ultime versioni delle immagini Dataproc e altri annunci, modifiche e correzioni.
Visualizza il bucket gestione temporanea per esaminare gli errori
Osserva l'andamento del cluster bucket gestione temporanea per esaminare i messaggi di errore relativi a cluster e job. In genere, la località di Cloud Storage del bucket gestione temporanea è mostrata in di errore, come mostrato in grassetto nel seguente errore di esempio messaggio:
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 gcloud CLI per visualizzare i contenuti del bucket gestione temporanea:
gcloud storage cat gs://STAGING_BUCKET
Esempio di output:+ readonly RANGER_VERSION=1.2.0 ... Ranger admin password not set. Please use metadata flag - default-password
Assistenza
Google Cloud supporta i carichi di lavoro OSS di produzione e ti aiuta a soddisfare le esigenze SLA aziendali per livelli di assistenza. Inoltre, Google Cloud I servizi di consulenza possono fornire indicazioni sulle best practice. per i deployment di produzione del tuo team.
Per ulteriori informazioni
Leggi il blog di Google Cloud Guida alle best practice di Dataproc.
Vedi Democratizing Dataproc on YouTube.