hadoop
Debug di codice Java Hadoop MR nell'ambiente locale di eclipse dev.
Ricerca…
introduzione
La cosa fondamentale da ricordare qui è che il debug di un lavoro MR Hadoop sarà simile a qualsiasi applicazione debugata in Eclipse.
Un debugger o strumento di debug è un programma per computer che viene utilizzato per testare e eseguire il debug di altri programmi (il programma "target"). È molto utile specialmente per un ambiente Hadoop in cui c'è poco margine di errore e un piccolo errore può causare una perdita enorme.
Osservazioni
Questo è tutto ciò che devi fare.
Passi per la configurazione
Come saprai, Hadoop può essere eseguito nell'ambiente locale in 3 diverse modalità:
- Modalità locale
- Modalità pseudo distribuita
- Modalità completamente distribuita (cluster)
In genere eseguirai la configurazione locale di hadoop in modalità Pseudo distribuita per sfruttare HDFS e Map Reduce (MR). Tuttavia, non è possibile eseguire il debug dei programmi MR in questa modalità poiché ogni attività Map / Reduce verrà eseguita in un processo JVM separato, pertanto è necessario tornare alla modalità Locale in cui è possibile eseguire i programmi MR in un'unica procedura JVM.
Ecco i passaggi rapidi e semplici per eseguire il debug di questo nel tuo ambiente locale:
Esegui hadoop in modalità locale per eseguire il debug in modo che le attività di mapper e riduttore vengano eseguite in una JVM singola anziché in JVM separate. Sotto i passaggi ti aiutano a farlo.
Configura HADOOP_OPTS per abilitare il debug, quindi quando esegui il tuo lavoro Hadoop, aspetterà che il debugger si connetta. Di seguito è riportato il comando per eseguire il debug della stessa sulla porta 8080.
(export HADOOP_OPTS = "- agentlib: jdwp = transport = dt_socket, server = y, suspend = y, address = 8008")
Configura il valore fs.default.name in core-site.xml nel file: /// da hdfs: //. Non utilizzerai hdf in modalità locale.
Configura il valore mapred.job.tracker in mapred-site.xml su local. Questo istruirà Hadoop a eseguire le attività MR in una singola JVM.
Crea la configurazione di debug per Eclipse e imposta la porta su 8008 - roba tipica. Per questo andare alle configurazioni del debugger e creare un nuovo tipo di configurazione Remote Java Application e impostare la porta come 8080 nelle impostazioni.
Esegui il tuo lavoro hadoop (sarà in attesa che il debugger si connetta) e quindi avvii Eclipse in modalità debug con la configurazione di cui sopra. Assicurati di mettere prima un punto di interruzione.