Vad är Hadoop? ArchiTektur, ekosystem och komponenter
⚡ Smart sammanfattning
Apache Hadoop är ett ramverk med öppen källkod som lagrar enorma datamängder över kluster av standardmaskiner och flyttar bearbetningslogiken till data, så analysen skalas upp genom att lägga till billiga noder snarare än större servrar.
Vad är Hadoop?
Apache Hadoop är ett ramverk för öppen källkod som används för att utveckla databehandlingsapplikationer som körs i en distribuerad datormiljö.
Applikationer byggda med Hadoop körs på stora datamängder distribuerade över kluster av standarddatorer. Standarddatorer är billiga och allmänt tillgängliga. Dessa är främst användbara för att uppnå större beräkningskraft till låg kostnad.
I likhet med data som finns i ett lokalt filsystem i en persondator, finns data i Hadoop i ett distribuerat filsystem som kallas Hadoop distribuerat filsystemBearbetningsmodellen är baserad på 'Datalokalitet' koncept, där beräkningslogik skickas till klusternoderna (servrarna) som innehåller data. Denna beräkningslogik är helt enkelt en kompilerad version av ett program skrivet i ett högnivåspråk som JavaEtt sådant program bearbetar data som lagras i Hadoop HDFS.
Vet du? Ett datorkluster består av en uppsättning flera processorenheter (lagringsdisk + processor) som är anslutna till varandra och fungerar som ett enda system.
Version 3.5.0, publicerad den 2 april 2026, är den nuvarande stabila utgåvan; 3.4-serien får fortfarande underhållsuppdateringar.
Hadoop-ekosystem och komponenter
Diagrammet nedan visar de olika komponenterna i Hadoop-ekosystemet, grupperade efter det jobb var och en utför – lagring, bearbetning och verktygen för fråge-, inmatnings- och koordinering kring dem.
Apache Hadoop består av två delprojekt –
- Hadoop MapReduce: MapReduce är en beräkningsmodell och mjukvaruramverk för att skriva applikationer som körs på Hadoop. Dessa MapReduce-program kan bearbeta enorma data parallellt på stora kluster av beräkningsnoder.
- HDFS (Hadoop distribuerat filsystem): HDFS tar hand om lagringsdelen av Hadoop-applikationer. MapReduce-applikationer förbrukar data från HDFS. HDFS skapar flera repliker av datablock och distribuerar dem på beräkningsnoder i ett kluster. Denna distribution möjliggör tillförlitliga och extremt snabba beräkningar.
Nuvarande utgåvor levererar ytterligare två kärnmoduler. Hadoop GARN, tillagd i Hadoop 2.x, schemalägger arbete på klustret, och Hadoop Common innehar den delade Java bibliotek som varje modul är beroende av. YARN är det som låter motorer som Spark, Tez och Flink körs tillsammans med MapReduce.
Även om Hadoop är mest känt för MapReduce och sitt distribuerade filsystem HDFS, används termen också för en familj av relaterade projekt som faller under paraplyet distribuerad databehandling och storskalig databehandling. Andra Hadoop-relaterade projekt på Apache inkluderar Bikupa, HBase, Mahout, Sqoop, Flumeoch ZooKeeper.
Hadoop Architecture
Hadoop har en master-slave-arkitektur för datalagring och distribuerad databehandling med hjälp av MapReduce och HDFS-metoder. Diagrammet nedan placerar dessa roller sida vid sida, med lagringslagret på ena sidan och bearbetningslagret på den andra.
Hadoop på hög nivå Architecture
NameNode
NameNode lagrar metadata för varje fil och katalog som används i namnrymden, inklusive vilka block som utgör varje fil och var dessa block finns.
DataNode
En DataNode hanterar tillståndet för en HDFS-nod och låter dig interagera med de block den lagrar, och rapporterar tillbaka till NameNode med periodiska blockrapporter och pulsslag.
Huvudnod
Masternoden låter dig utföra parallell bearbetning av data med Hadoop MapReduce.
Slavnod
Slavnoderna är de extra maskinerna i Hadoop-klustret som låter dig lagra data och köra komplexa beräkningar. Dessutom kör varje slavnod en uppgift.Tracker och en DataNode. Detta låter dig synkronisera processerna med NameNode och JobTracker respektive.
I Hadoop kan master- eller slavsystem konfigureras i molnet eller lokalt.
En namngivningsanmärkning: JobbTracker och uppgiftTracker tillhör den första generationens MapReduce-körningstid (MRv1). Från och med Hadoop 2.x delar YARN upp sina uppgifter mellan ett klusteromfattande Resurshanterare, NodeManager per arbetare, och en ApplicationMaster per jobb. NameNode och DataNode är oförändrade.
Funktioner i Hadoop
Lämplig för stordataanalys
As Stora data Hadoop-kluster tenderar att vara distribuerade och ostrukturerade till sin natur, och är bäst lämpade för analys av stordata. Eftersom det är bearbetningslogiken (inte själva datan) som flödar till beräkningsnoderna förbrukas mindre nätverksbandbredd. Detta kallas datalokal koncept, och det hjälper till att öka effektiviteten hos Hadoop-baserade applikationer.
Skalbarhet
Hadoop-kluster kan enkelt skalas upp i valfri utsträckning genom att lägga till ytterligare klusternoder, och därmed möjliggöra tillväxt av stordata. Skalning kräver inte heller modifieringar av applikationslogiken.
Feltolerans
Hadoop-ekosystemet har en möjlighet att replikera indata till andra klusternoder. På så sätt, i händelse av ett klusternodfel, kan databehandlingen fortfarande fortsätta med hjälp av data som lagras på en annan klusternod. HDFS behåller tre kopior av varje block som standard, ett värde som ställs in av dfs.replikering egenskapen, och NameNode replikerar om alla block som sjunker under det antalet.
Nätverkstopologi i Hadoop
Nätverkets topologi (arrangemang) påverkar Hadoop-klustrets prestanda i takt med att klustrets storlek växer. Förutom prestanda måste man också tänka på hög tillgänglighet och hantering av fel. För att uppnå detta använder sig Hadoop-klusterbildning av nätverkstopologi.
Trädet nedan visar hur det arrangemanget är modellerat, från datacentret ner till noderna inuti varje rack.
Vanligtvis är nätverksbandbredd en viktig faktor att beakta när man bildar ett nätverk. Eftersom det kan vara svårt att mäta bandbredd representeras ett nätverk i Hadoop som ett träd, och avståndet mellan noderna i detta träd (antalet hopp) anses vara en viktig faktor i bildandet av ett Hadoop-kluster. Här är avståndet mellan två noder lika med summan av deras avstånd till deras närmaste gemensamma förfader.
Ett Hadoop-kluster består av ett datacenter, racket och noden som faktiskt utför jobb. Här består datacentret av rack och ett rack av noder. Nätverksbandbredden som är tillgänglig för processer varierar beroende på processernas plats. Det vill säga, den tillgängliga bandbredden blir mindre ju längre vi går från-
- Processer på samma nod
- Olika noder på samma rack
- Noder på olika rack i samma datacenter
- Noder i olika datacenter
Rackmedvetenhet använder samma träd: HDFS placerar repliker på mer än ett rack, så att förlora en rackväxel tar inte med sig alla kopior av data.



