2012-06-14 13 views
9

Ho diverse domande su oozie 2.3 condividono le librerie:In che modo oozie gestisce le dipendenze?

Attualmente, ho definito le librerie di condivisione nelle nostre coordinator.properties:

oozie.use.system.libpath=true 
oozie.libpath=<hdfs_path> 

Ecco le mie domande:

  1. Quando la quota le librerie vengono copiate su un altro nodo di dati e quanti nodi di dati avranno le librerie di condivisioni?

  2. Le librerie di condivisione vengono copiate su un altro nodo di dati in base al numero di wf in un lavoro di coordinatore oppure vengono copiate solo una volta per lavoro di coordinatore?

risposta

8

Aggiunta di voci alla proprietà oozie.libpath significa effettivamente che OOZIE sarà configurare queste librerie di essere nella proprietà di configurazione mapred.cache.files (questa è una proprietà DistributedCache) quando vengono eseguite le azioni nel flusso di lavoro.

Hadoop quindi si prenderà cura di copiare quei vasi per ogni nodo del cluster una volta per lavoro, e le attività vengono poi configurato con il vaso nella proprietà di configurazione classpath mapred.job.classpath.files

Quindi, in risposta alla tua seconda domanda, lo faranno essere copiati per ogni azione nel flusso di lavoro, non una volta per lavoro di coordinatore. Pertanto, se si dispone di un processo wf con 4 azioni mapreduce, le librerie verranno copiate su ciascun tasktracker (solo i tracker delle attività che partecipano al lavoro mapreduce) 4 volte nel corso della durata di tale flusso di lavoro.

+0

È possibile aggiornare più azioni o wfs per condividere la stessa cache distribuita? –

+0

Non sono sicuro di capire cosa stai chiedendo –

+0

Capisco che significa che le dipendenze dal sistema libpath verranno caricate da HDFS sempre ed eviteranno di usare la cache distribuita ogni volta che il flusso di lavoro viene eseguito, è così? – gphilip

Problemi correlati