Vad är Hadoop? Introduktion, Architecture, ekosystem, komponenter

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 hjälp av HADOOP körs på stora datamängder fördelade över kluster av handelsdatorer. Varudatorer ä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 ett persondatorsystem finns i Hadoop data i ett distribuerat filsystem som kallas som en Hadoop distribuerade filsystem. Bearbetningsmodellen bygger på 'Datalokalitet' koncept där beräkningslogik skickas till klusternoder (server) som innehåller data. Denna beräkningslogik är ingenting, utan en kompilerad version av ett program skrivet på ett högnivåspråk som t.ex. Java. Ett sådant program bearbetar data lagrad i Hadoop HDFS.

Vet du? Datorkluster består av en uppsättning av flera processorenheter (lagringsdisk + processor) som är anslutna till varandra och fungerar som ett enda system.

Hadoop ekosystem och komponenter

Nedanstående diagram visar olika komponenter i Hadoop ekosystem-

Hadoop ekosystem och komponenter

Apache Hadoop består av två delprojekt –

  1. 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.
  2. 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.

Även om Hadoop är mest känt för MapReduce och dess distribuerade filsystem-HDFS, används termen också för en familj av relaterade projekt som faller under paraplyet distribuerad datoranvändning och storskalig databehandling. Andra Hadoop-relaterade projekt på Apache inkluderar är Hive, HBase, Mahout, Sqoop, Flume och ZooKeeper.

Hadoop Architecture

Hadoop Architecture
Hadoop på hög nivå Architecture

Hadoop har en Master-Slave Architecture för datalagring och distribuerad databehandling med hjälp av MapReduce och HDFS-metoder.

NameNode:

NameNode representerade alla filer och kataloger som används i namnområdet

DataNode:

DataNode hjälper dig att hantera tillståndet för en HDFS-nod och låter dig interagera med blocken

MasterNode:

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 för att utföra komplexa beräkningar. Dessutom kommer alla slavnoder med Task Tracker och en DataNode. Detta gör att du kan synkronisera processerna med NameNode respektive Job Tracker.

I Hadoop kan master- eller slavsystem ställas in i molnet eller på plats

Funktioner i "Hadoop"

• Lämplig för Big Data Analysis

Eftersom Big Data tenderar att vara distribuerad och ostrukturerad till sin natur är HADOOP-kluster bäst lämpade för analys av Big Data. Eftersom det är bearbetningslogik (inte själva data) som flödar till datornoderna, förbrukas mindre nätverksbandbredd. Detta koncept kallas som datalokal koncept vilket hjälper till att öka effektiviteten hos Hadoop-baserade applikationer.

• Skalbarhet

HADOOP-kluster kan lätt skalas i vilken utsträckning som helst genom att lägga till ytterligare klusternoder och möjliggör därmed tillväxten av Big Data. Skalning kräver inte heller modifieringar av applikationslogik.

• Feltolerans

HADOOP-ekosystemet har en bestämmelse för att replikera indata till andra klusternoder. På så sätt, i händelse av ett klusternodfel, kan databearbetningen fortfarande fortsätta genom att använda data lagrad på en annan klusternod.

Nätverkstopologi i Hadoop

Nätverkets topologi (arrangemang) påverkar prestandan för Hadoop-klustret när storleken på Hadoop-klustret växer. Utöver prestandan behöver man också bry sig om den höga tillgängligheten och hanteringen av fel. För att uppnå denna Hadoop använder klusterbildning sig av nätverkstopologi.

Nätverkstopologi i Hadoop

Vanligtvis är nätverksbandbredd en viktig faktor att tänka på när du bildar ett nätverk. Men eftersom det kan vara svårt att mäta bandbredd, i Hadoop, representeras ett nätverk som ett träd och avståndet mellan noder i detta träd (antal hopp) anses vara en viktig faktor i bildandet av Hadoop-kluster. Här är avståndet mellan två noder lika med summan av deras avstånd till deras närmaste gemensamma förfader.

Hadoop-klustret består av ett datacenter, racket och noden som faktiskt utför jobb. Här består datacenter av rack och rack består av noder. Nätverksbandbredden som är tillgänglig för processer varierar beroende på platsen för processerna. Det vill säga att den tillgängliga bandbredden blir mindre när vi går bort från-

  • Processer på samma nod
  • Olika noder på samma rack
  • Noder på olika rack i samma datacenter
  • Noder i olika datacenter

Dagligt Guru99-nyhetsbrev

Kickstarta dagen med de senaste och viktigaste AI-nyheterna som levereras just nu.