hadoop
Debugging Hadoop MR Java-kod i lokal förmörkelse dev-miljö.
Sök…
Introduktion
Det grundläggande att komma ihåg här är att felsöka ett Hadoop MR-jobb kommer att likna alla fjärrfelsökningar i Eclipse.
En felsöknings- eller felsökningsverktyg är ett datorprogram som används för att testa och felsöka andra program (”mål” -programmet). Det är mycket användbart speciellt för en Hadoop-miljö där det finns lite utrymme för fel och ett litet fel kan orsaka en enorm förlust.
Anmärkningar
Det är allt du behöver göra.
Steg för konfiguration
Som du vet kan Hadoop köras i den lokala miljön i tre olika lägen:
- Lokalt läge
- Pseudodistribuerat läge
- Helt distribuerat läge (kluster)
Vanligtvis kör du din lokala hadoop-inställning i Pseudo Distribuerat läge för att utnyttja HDFS och Map Reduce (MR). Du kan dock inte felsöka MR-program i detta läge eftersom varje Map / Reduce-uppgift kommer att köras i en separat JVM-process så du måste växla tillbaka till Local mode där du kan köra dina MR-program i en enda JVM-process.
Här är de snabba och enkla stegen att felsöka detta i din lokala miljö:
Kör hadoop i lokalt läge för felsökning så att mapper och reduceruppgifter körs i en enda JVM istället för separata JVM: er. Nedanstående steg hjälper dig att göra det.
Konfigurera HADOOP_OPTS för att aktivera felsökning så när du kör ditt Hadoop-jobb väntar det på att felsökaren kommer att ansluta. Nedan är kommandot att felsöka samma i port 8080.
(exportera HADOOP_OPTS = ”- agentlib: jdwp = transport = dt_socket, server = y, avbryta = y, adress = 8008“)
Konfigurera fs.default.name-värde i core-site.xml till fil: /// från hdfs: //. Du kommer inte att använda hdfs i lokalt läge.
Konfigurera mapred.job.tracker-värde i mapred-site.xml till lokalt. Detta instruerar Hadoop att köra MR-uppgifter i en enda JVM.
Skapa felsökningskonfiguration för Eclipse och ställ in porten till 8008 - typiska grejer. För det går du till felsökningskonfigurationerna och skapar en ny fjärrkontroll av Java-applikationstyp och ställ in porten som 8080 i inställningarna.
Kör ditt hadoop-jobb (det väntar på att felsökaren ansluter) och starta sedan Eclipse i felsökningsläge med ovanstående konfiguration. Se till att sätta en brytpunkt först.