Introduktion till HDFS-arkitektur

HDFS står för Hadoop Distribuerat filsystem som själv säger att filer är uppdelade i block och lagras på flera maskiner.

Funktioner i HDFS

Funktionerna i HDFS som är följande:

1. Tillgänglighet

I HDFS replikeras data regelbundet mellan datanoder genom att skapa en kopia av block på den andra datanoden. I händelse av maskinvarufel eller fel kan användaren hämta sina data från en annan datanod där data har replikerats.

2. Skalbarhet

I HDFS lagras data på flera datanoder i form av block. HDFS gör det möjligt för användare att öka storleken på blocken när det behövs. Det finns två typer av skalbarhetsmekanism som används i HDFS - horisontell skalbarhet och vertikal skalbarhet.

3. Replikation

Detta är de unika funktionerna hos HDFS som gör det möjligt för en användare att få enkel åtkomst till sina data i händelse av maskinvarufel.

HDFS Arkitektur

HDFS följer master-slavarkitektur som har följande komponenter:

1. NameNode:

NameNode kallas också masternod eftersom den hanterar alla block som finns på DataNodes.

NameNode utför följande uppgifter:

  • Hantera alla DataNode-block
  • Ger filåtkomst till användare
  • Håller alla register över block som finns på DataNode
  • NameNode registrerar all information om filer till exempel om ett filnamn byts namn eller innehåll har ändrats eller raderats NameNode registrerar omedelbart den modifieringen i EditLogs
  • Det tar register över alla block från datanoderna för att säkerställa att allt block är levande på DataNode.
  • I händelse av fel, om något hårdvarufel inträffar, väljer den omedelbart en annan DataNode för att skapa replikering och hantera kommunikationen till alla DataNodes

Typer av filer i NameNode

NameNode innehåller två typer av filer FsImage och EditLogs

i. FsImage: Det kallas också en filbild eftersom den innehåller all information på ett filsystem med namnutrymmen. Det innehåller också alla kataloger och filerna i filsystemet på ett seriellt sätt.

ii. EditLogs: Aktuella ändringar som görs i filsystemet lagras i EditLogs.

2. Sekundärnamn

Sekundärnamn kallas också som en kontrollpunktsnod eftersom den utför vanliga kontrollpunkter. Det fungerar som en hjälpare för primär NameNode.

Secondary NameNode utför följande uppgifter

  • Secondary NameNode kombinerar FsImage och EditLogs från NameNode.
  • Den läser all information om filsystem från lagringsminnet i NameNode och skriver denna information på filsystemets hårddisk.
  • Den laddar ner FsImage och EditLogs från NameNode med jämna mellanrum och läser modifieringsinformationen gjord EditLogs-filer och noterar ändringen till FsImage. Denna process skapar ny FsImage som sedan skickas tillbaka till NameNode. När Namnnoden startar kommer den att använda dessa FsImage.

3. DataNode

DataNode är också känd som en slavnod eftersom den hanterar varje nod som innehåller data på en slavmaskin. DataNode lagrar data i filformatet ext3 eller ext4.

Datanoden utför följande uppgifter:

  • Varje data lagras på DataNodes
  • Den utför alla funktioner för filer enligt användarens begäran, till exempel läser filinnehåll, skriver ny data i filer,
  • Den följer också alla instruktioner som ges av NameNode, till exempel byter namn på filen, tar bort några block på DataNode, skapar block osv.

4. Kontrollpunkt Nod:

Kontrollpunktsnod är en nod som skapade en kontrollpunkt för filer med regelbundna intervall. Kontrollpunktsnod i HDFS, ladda ner FsImage och EditLogs från NameNode och slå samman dem för att skapa en ny bild och skicka den nya bilden till NameNode. Den senaste kontrollpunkten lagras i en katalog med samma struktur som koden för namnoden. På grund av detta är den kontrollerade bilden alltid tillgänglig om den behöver.

5. Säkerhetskopieringsnod:

Funktionen för en reservnod liknar en Checkpoint-nod för att utföra en kontrollpunktuppgift. I Hadoop lagrar säkerhetskopieringsnoden en senaste och uppdaterad kopia av filsystemets namnutrymme. Det finns inget behov av att ladda ner FsImage och redigerar LOGG-filer från den aktiva Namnnoden för att skapa en kontrollpunkt i säkerhetskopieringsnoden eftersom den är synkroniserad med tillståndet för den aktiva Namnnoden. Funktionen för säkerhetskopieringsnoden är mer exakt eftersom spara namnutrymme i den lokala FsImage-filen och återställa editLogs.

6. Block:

All data från användare lagras i filer från HDFS som sedan delas in i små segment. Dessa segment lagras i DataNodes. Segmenten som finns på DataNodes kallas som ett block. Standardblockstorleken för dessa block är 128 MB. Storleken på blocket kan ändras enligt användarnas krav genom att konfigurera HDFS.

Om datastorleken är mindre än blockstorleken är blockstorleken lika med datastorleken. Till exempel, om uppgifterna är på 135 MB kommer de att skapa 2 block. En kommer att ha standardstorlek 128 MB och en annan endast på 7 MB, inte 128 MB. På grund av detta sparas mycket utrymme och diskens klocktid.

Replikeringshantering i HDFS-arkitektur:

HDFS är fel tolerant. Feltolerans är systemets kraft vid fel och hur det svarar på fel och svåra förhållanden. Feltolerans fungerar baserat på skapandet av kopior. Kopior av användardata sparas på maskiner i DHFS-kluster. Därför, om det finns någon nedbrytning eller fel i systemet, kan en kopia av den informationen nås från de andra maskinerna i HDFS-klustret. Varje block i HDFS-arkitektur har 3 repliker som lagras i olika DataNodes. NameNode upprätthåller tillgängliga kopior i DataNodes. NameNode lägger till eller tar bort kopior baserat på kriterierna för underreplikerade eller överreplicerade block.

Skriv operation

För att skriva filer till HDFS kommer klienten att kommunicera för metadata till NameNode. Namnkoden svarar med flera block, deras plats, kopior, etc. Klient delar upp filer i flera block baserat på namnkodinformation. Sedan börjar det skicka dem till DataNode. Först skickar klienten block A till DataNode 1 med annan information om DataNodes. När DataNode 1 tar emot klientens block A kopierar DataNode 1 samma block till samma rack till DataNode 2. På grund av att båda DataNodes finns i samma rack, överförs blocket via rack switch. DataNode 2 kopierar nu samma block till DataNode 3 Eftersom båda DataNodes finns i olika rack görs överföring av blocket genom en switch utanför spåret. När DataNode har tagit emot klientens block skickar den bekräftelsen till NameMode. Varje block i filen, samma process upprepas.

Läs operation

För läsoperation kommunicerar den första klienten för metadata till NameNode. En klient lämnar NameNode med filnamnet och platsen. Namnkoden svarar med ett blocknummer, plats, kopior och annan information. Därefter kommunicerar klienten till DataNodes. Baserat på informationen mottagen från NameNode börjar klienten läsa data parallellt från DataNodes. När allt blocket för filen tas emot av klienten eller applikationen, kombinerar det dessa block till en original filformulär.

Slutsats - HDFS Arkitektur

Med hjälp av NameNode och DataNode lagrar det pålitligt mycket stora filer över maskiner i ett stort kluster. På grund av feltolerans är det bra att få åtkomst till data medan program- eller maskinvarufel. Så här fungerar HDFS-arkitekturen.

Rekommenderade artiklar

Detta har varit en guide till HDFS Architecture. Här diskuterade vi de grundläggande koncepten med olika typer av arkitektur, funktioner och replikationshantering av HDFS Architecture. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Vad är datamodellering?
  2. Vad är datavisualisering
  3. Vad är ett datavarehus?
  4. Vad är SQL Developer?

Kategori: