Köra MapReduce-jobb i ett Hadoop-kluster
Att köra ett MapReduce-program kräver ett strukturerat tillvägagångssätt som involverar kodkompilering, datahantering i Hadoop Distributed File System (HDFS) och jobbinlämning via kommandoradsgränssnittet.
Steg-för-steg exekveringsprocess
- Förbered MapReduce-koden
- Skriv klasserna Mapper, Reducer och Driver i Java eller ett annat språk som stöds.
- Kompilera källkoden med Hadoop-klasssökvägen.
- Skapa en JAR-fil (Java Archive) som innehåller de kompilerade klasserna.
- Konfigurera indata i HDFS
- Skapa en inmatningskatalog i HDFS med kommandot:
hdfs dfs -mkdir /input_data. - Ladda upp den lokala datamängden till HDFS-katalogen:
hdfs dfs -put localfile.txt /input_data.
- Skapa en inmatningskatalog i HDFS med kommandot:
- Skicka in MapReduce-jobbet
- Använd kommandot
hadoop jarför att initiera exekvering. - Syntax:
hadoop jar sökväg/to/dinfil.jar MainClassName /input_data /output_data. - Se till att utdatakatalogen inte redan finns, eftersom Hadoop förhindrar överskrivning.
- Använd kommandot
- Övervaka jobbframsteg
- Spåra kartan och minska procentsatserna i terminalfönstret.
- Åtkomst till webbgränssnittet (vanligtvis på port 8088) för att se status för ResourceManager.
- Hämta resultat
- Lista de genererade filerna i utdatamappen:
hdfs dfs -ls /output_data. - Visa det bearbetade innehållet:
hdfs dfs -cat /output_data/part-r-00000.
- Lista de genererade filerna i utdatamappen:
Jämförelse av exekveringslägen
Hadoop tillåter användare att köra program i olika miljöer beroende på omfattningen av data och tillgänglig hårdvara.
| Exekveringsläge | Hårdvarukrav | Primärt användningsfall | Konfigurationsnivå |
|---|---|---|---|
| Lokalt (fristående) | Enskild arbetsstation | Initial kodfelsökning | Minimal (standard) |
| Pseudo-distribuerad | Enskild servernod | Funktionstestning | Medium |
| Fullt distribuerad | Flera servernoder | Produktionsbearbetning | Hög |
Vanliga exekveringskommandon
hadoop-version: Kontrollerar den installerade Hadoop-versionen och verifierar sökvägsinställningar.hdfs dfs -rm -r /output_data: Tar bort utdatakatalogen för att möjliggöra en omkörning av jobbet.yarn application -list: Visar MapReduce-program som körs för närvarande.yarn application -kill [application_id]: Stoppar ett specifikt jobb om det stöter på fel eller hänger sig.
Copyright ©caneslat.pages.dev 2026