hadoop
Foutopsporing Hadoop MR Java-code in lokale eclipse-omgeving.
Zoeken…
Invoering
Het belangrijkste om te onthouden is dat het debuggen van een Hadoop MR-taak vergelijkbaar zal zijn met elke externe foutopsporingsapplicatie in Eclipse.
Een foutopsporingsprogramma of een foutopsporingsprogramma is een computerprogramma dat wordt gebruikt om andere programma's (het "doelprogramma") te testen en te debuggen. Het is enorm handig, speciaal voor een Hadoop-omgeving waarin weinig ruimte is voor fouten en een kleine fout een enorm verlies kan veroorzaken.
Opmerkingen
Dat is alles wat u hoeft te doen.
Stappen voor configuratie
Zoals u weet, kan Hadoop in de lokale omgeving worden uitgevoerd in 3 verschillende modi:
- Lokale modus
- Pseudo gedistribueerde modus
- Volledig gedistribueerde modus (cluster)
Doorgaans gebruikt u uw lokale hadoop-installatie in Pseudo Distributed Mode om HDFS en Map Reduce (MR) te benutten. U kunt echter geen MR-programma's in deze modus debuggen, omdat elke Map / Reduce-taak in een apart JVM-proces wordt uitgevoerd, dus u moet teruggaan naar de lokale modus waar u uw MR-programma's in een enkel JVM-proces kunt uitvoeren.
Hier zijn de snelle en eenvoudige stappen om dit in uw lokale omgeving op te lossen:
Voer Hadoop uit in de lokale modus voor foutopsporing, zodat mapper- en reductietaken worden uitgevoerd in een enkele JVM in plaats van afzonderlijke JVM's. De onderstaande stappen helpen u hierbij.
Configureer HADOOP_OPTS om foutopsporing in te schakelen, dus wanneer u uw Hadoop-taak uitvoert, wacht deze op de foutopsporing. Hieronder staat het commando om hetzelfde te debuggen op poort 8080.
(export HADOOP_OPTS = ”- agentlib: jdwp = transport = dt_socket, server = y, onderbreken = y, adres = 8008“)
Configureer de waarde fs.default.name in core-site.xml naar file: /// vanuit hdfs: //. U gebruikt geen hdf's in de lokale modus.
Configureer de waarde mapred.job.tracker in mapred-site.xml naar lokaal. Dit zal Hadoop opdracht geven MR-taken in een enkele JVM uit te voeren.
Maak een foutopsporingsconfiguratie voor Eclipse en stel de poort in op 8008 - typische dingen. Ga daarvoor naar de debuggerconfiguraties en maak een nieuw Remote Java Application-type configuratie en stel de poort in op 8080 in de instellingen.
Voer uw hadoop-taak uit (deze wacht op de foutopsporing om verbinding te maken) en start Eclipse vervolgens in de foutopsporingsmodus met de bovenstaande configuratie. Zorg ervoor dat u eerst een breekpunt plaatst.