Hva er Hadoop? ArchiTektur, økosystem og komponenter
⚡ Smart oppsummering
Apache Hadoop er et åpen kildekode-rammeverk som lagrer enorme datasett på tvers av klynger av standardmaskiner og flytter behandlingslogikken til dataene, slik at analysen skaleres ved å legge til billige noder i stedet for større servere.
Hva er Hadoop?
Apache Hadoop er et programvarerammeverk med åpen kildekode som brukes til å utvikle databehandlingsapplikasjoner som kjøres i et distribuert datamiljø.
Applikasjoner bygget med Hadoop kjøres på store datasett fordelt på tvers av klynger av standarddatamaskiner. Standarddatamaskiner er billige og allment tilgjengelige. Disse er hovedsakelig nyttige for å oppnå større beregningskraft til lav kostnad.
I likhet med data som ligger i et lokalt filsystem i et personlig datamaskinsystem, ligger data i Hadoop i et distribuert filsystem som kalles Hadoop distribuert filsystemProsesseringsmodellen er basert på 'Datalokalitet' konsept, hvor beregningslogikk sendes til klyngenodene (serverne) som inneholder dataene. Denne beregningslogikken er ganske enkelt en kompilert versjon av et program skrevet i et høynivåspråk som f.eks. JavaEt slikt program behandler data lagret i Hadoop HDFS.
Vet du? En dataklynge består av et sett med flere prosessorenheter (lagringsdisk + prosessor) som er koblet til hverandre og fungerer som ett enkelt system.
Versjon 3.5.0, publisert 2. april 2026, er den nåværende stabile utgivelsen; 3.4-linjen mottar fortsatt vedlikeholdsoppdateringer.
Hadoop-økosystem og komponenter
Diagrammet nedenfor viser de ulike komponentene i Hadoop-økosystemet, gruppert etter jobben hver enkelt gjør – lagring, prosessering og spørrings-, inntaks- og koordineringsverktøyene rundt dem.
Apache Hadoop består av to delprosjekter –
- Hadoop MapReduce: MapReduce er en beregningsmodell og programvareramme for å skrive applikasjoner som kjøres på Hadoop. Disse MapReduce-programmene er i stand til å behandle enorme data parallelt på store klynger av beregningsnoder.
- HDFS (Hadoop distribuert filsystem): HDFS tar seg av lagringsdelen av Hadoop-applikasjoner. MapReduce-applikasjoner bruker data fra HDFS. HDFS oppretter flere replikaer av datablokker og distribuerer dem på beregningsnoder i en klynge. Denne distribusjonen muliggjør pålitelige og ekstremt raske beregninger.
Nåværende utgivelser leverer to ytterligere kjernemoduler. Hadoop GARN, lagt til i Hadoop 2.x, planlegger arbeid på klyngen, og Hadoop Common holder den delte Java biblioteker som alle moduler er avhengige av. YARN er det som lar motorer som Spark, Tez og Flink kjører side om side med MapReduce.
Selv om Hadoop er mest kjent for MapReduce og det distribuerte filsystemet HDFS, brukes begrepet også om en familie av relaterte prosjekter som faller inn under paraplyen distribuert databehandling og storskala databehandling. Andre Hadoop-relaterte prosjekter hos Apache inkluderer Hive, HBase, Mahout, Sqoop, Flumeog Dyrepasser.
Hadoop Architecture
Hadoop har en master-slave-arkitektur for datalagring og distribuert databehandling ved hjelp av MapReduce og HDFS-metoder. Diagrammet nedenfor plasserer disse rollene side om side, med lagringslaget på den ene siden og behandlingslaget på den andre.
Hadoop på høyt nivå Architecture
NavnNode
NameNode lagrer metadataene for hver fil og katalog som brukes i navnerommet, inkludert hvilke blokker som utgjør hver fil og hvor disse blokkene befinner seg.
DataNode
En DataNode administrerer tilstanden til en HDFS-node og lar deg samhandle med blokkene den lagrer, og rapporterer tilbake til NameNode med periodiske blokkrapporter og hjerteslag.
Hovednode
Masternoden lar deg utføre parallell behandling av data ved hjelp av Hadoop MapReduce.
Slavenode
Slavenodene er de ekstra maskinene i Hadoop-klyngen som lar deg lagre data og kjøre komplekse beregninger. Dessuten kjører hver slavenode en oppgave.Tracker og en DataNode. Dette lar deg synkronisere prosessene med NameNode og JobTrachenholdsvis ker.
I Hadoop kan master- eller slavesystemer settes opp i skyen eller lokalt.
En navnebemerkning: JobbTracker og OppgaveTracker tilhører førstegenerasjons MapReduce-kjøretidssystemet (MRv1). Fra Hadoop 2.x og utover deler YARN oppgavene sine mellom en klyngeomfattende Ressursadministratoren NodeManager per arbeider, og én ApplicationMaster per jobb. NameNode og DataNode er uendret.
Funksjoner i Hadoop
Egnet for stordataanalyse
As Store data Hadoop-klynger har en tendens til å være distribuerte og ustrukturerte av natur, og er best egnet for analyse av stordata. Siden det er behandlingslogikken (ikke de faktiske dataene) som flyter til datanodene, forbrukes mindre nettverksbåndbredde. Dette kalles datalokalitetskonsept, og det bidrar til å øke effektiviteten til Hadoop-baserte applikasjoner.
skalerbarhet
Hadoop-klynger kan enkelt skaleres til enhver grad ved å legge til flere klyngenoder, og dermed tillate vekst av stordata. Skalering krever heller ikke endringer i applikasjonslogikken.
Feiltoleranse
Hadoop-økosystemet har en mulighet til å replikere inndataene til andre klyngenoder. På den måten, i tilfelle en klyngenodefeil, kan databehandlingen fortsatt fortsette ved å bruke data lagret på en annen klyngenode. HDFS beholder tre kopier av hver blokk som standard, en verdi satt av dfs.replication egenskapen, og NameNode replikerer enhver blokk som faller under dette antallet på nytt.
Nettverkstopologi i Hadoop
Nettverkets topologi (arrangement) påvirker ytelsen til Hadoop-klyngen etter hvert som klyngestørrelsen vokser. I tillegg til ytelse må man også være oppmerksom på høy tilgjengelighet og håndtering av feil. For å oppnå dette bruker Hadoop-klyngedannelse nettverkstopologi.
Treet nedenfor viser hvordan denne ordningen er modellert, fra datasenteret og ned til nodene i hvert rack.
Vanligvis er nettverksbåndbredde en viktig faktor å vurdere når man danner et nettverk. Men siden det kan være vanskelig å måle båndbredde, er et nettverk i Hadoop representert som et tre, og avstanden mellom nodene i dette treet (antall hopp) anses som en viktig faktor i dannelsen av en Hadoop-klynge. Her er avstanden mellom to noder lik summen av avstandene deres til deres nærmeste felles forfader.
En Hadoop-klynge består av et datasenter, racket og noden som faktisk utfører jobber. Her består datasenteret av rack, og et rack består av noder. Nettverksbåndbredden som er tilgjengelig for prosesser varierer avhengig av prosessenes plassering. Det vil si at den tilgjengelige båndbredden blir mindre etter hvert som vi beveger oss bort fra-
- Prosesser på samme node
- Ulike noder på samme stativ
- Noder på forskjellige stativer i samme datasenter
- Noder i forskjellige datasentre
Rackbevissthet bruker det samme treet: HDFS plasserer replikaer på mer enn ett rack, så å miste en rack-svitsj tar ikke med seg alle kopiene av dataene.



