Introduktion til HDFS Arkitektur

HDFS står for Hadoop Distribueret filsystem, som selv siger, at filer er opdelt i blokke og opbevares på flere maskiner.

Funktioner ved HDFS

Funktionerne i HDFS, der er som følger:

1. Tilgængelighed

I HDFS kopieres data regelmæssigt mellem dataknudepunkter ved at oprette en kopi af blokke på den anden dataknudepunkt. Så i tilfælde af hardwarefejl eller fejl kan brugeren hente sine data fra en anden dataknudepunkt, hvor dataene er replikeret.

2. Skalerbarhed

I HDFS gemmes data på flere datanoder i form af blokke. HDFS gør det muligt for brugere at øge størrelsen på blokke, når det er nødvendigt. Der er to typer skalerbarhedsmekanisme, der bruges i HDFS - vandret skalerbarhed og lodret skalerbarhed.

3. Replikation

Dette er de unikke egenskaber ved HDFS, som giver en bruger mulighed for at få let adgang til deres data i tilfælde af hardwarefejl.

HDFS Arkitektur

HDFS følger master-slave-arkitektur, der har følgende komponenter:

1. NameNode:

NameNode er også kendt som master node, fordi den håndterer alle de blokke, der findes på DataNodes.

NameNode udfører følgende opgaver:

  • Administrer alle DataNode-blokke
  • Giver filadgang til brugeren
  • Holder alle registreringer af blokke, der findes på DataNode
  • NameNode registrerer alle oplysninger om filer, for eksempel hvis et filnavn omdøbes, eller indholdet er ændret eller slettet. NameNode registrerer øjeblikkeligt denne ændring i EditLogs
  • Det tager posterne af alle blokke fra dataknudene for at sikre, at al blokken er i live på DataNode.
  • I tilfælde af fejl, hvis der opstår hardwarefejl, vælger den straks en anden DataNode til at oprette replikering og administrere kommunikationen til alle DataNodes

Typer af filer i NameNode

NameNode indeholder to typer filer FsImage og EditLogs

jeg. FsImage: Det kaldes også et filbillede, fordi det indeholder alle oplysningerne på et filsystem med navneområder. Det indeholder også alle mapper og filerne i filsystemet på en serialiseret måde.

ii. EditLogs: Aktuelle ændringer, der udføres i filsystemet, gemmes i EditLogs.

2. Sekundær navnNode

Sekundær navnekode kaldes også som en kontrolpunktsnode, fordi den udfører regelmæssige kontrolpunkter. Det fungerer som en hjælper til det primære NameNode.

Secondary NameNode udfører følgende opgaver

  • Secondary NameNode kombinerer FsImage og EditLogs fra NameNode.
  • Den læser al information om filsystem fra lagringshukommelsen i NameNode og skriver disse oplysninger på en harddisk i filsystemet.
  • Det henter FsImage og EditLogs fra NameNode med regelmæssige intervaller og læser de ændrede oplysninger, der er udført EditLogs-filer, og noter ændringen til FsImage. Denne proces opretter ny FsImage, som derefter sendes tilbage til NameNode. Hver gang NameNode starter, bruger den disse FsImage.

3. DataNode

DataNode er også kendt som en slaveknude, fordi den håndterer alle noder, der indeholder data på en slavemaskine. DataNode gemmer data i filformat ext3 eller ext4.

Dataknudde udfører følgende opgaver:

  • Alle data gemmes på DataNodes
  • Den udfører alle handlinger med filer i henhold til brugernes anmodning, for eksempel læse filindhold, skrive nye data i filer,
  • Den følger også alle instruktioner, der er givet af NameNode, for eksempel omdøbning af filen, sletning af nogle blokke på DataNode, oprettelse af blokke osv.

4. Kontrolpunktets knudepunkt:

Checkpoint-knude er en knude, der skabte et kontrolpunkt for filer med regelmæssige intervaller. Checkpoint-node i HDFS, download FsImage og EditLogs fra NameNode og flet dem sammen for at oprette et nyt billede og sende det nye billede til NameNode. Det seneste checkpoint gemmes i et bibliotek med den samme struktur som kataloget for navnekoden. På grund af dette er det kontrollerede billede altid tilgængeligt, hvis det har brug for det.

5. Backupknudepunkt:

Funktionen af ​​en backup-node ligner en Checkpoint-knude til at udføre en checkpointing-opgave. I Hadoop gemmer backup-noden en seneste og opdateret kopi af filsystemets navneområde. Det er ikke nødvendigt at downloade FsImage og redigerer Logs filer fra den aktive NameNode for at oprette et kontrolpunkt i Backup-noden, fordi det er synkroniseret med tilstanden til den aktive NameNode. Funktionen af ​​backup-noden er mere præcis, fordi du gemmer navneområdet i den lokale FsImage-fil og nulstiller editLogs.

6. Blokke:

Alle brugernes data gemmes i filer af HDFS, som derefter opdeles i små segmenter. Disse segmenter gemmes i DataNodes. Segmenterne, der findes på DataNodes, kaldes som en blok. Standardblokstørrelsen for disse blokke er 128 MB. Størrelsen på blokken kan ændres efter brugernes krav ved at konfigurere HDFS.

Hvis datastørrelsen er mindre end blokstørrelsen, er blokstørrelsen lig med datastørrelsen. For eksempel, hvis dataene er på 135 MB, opretter de 2 blokke. Den ene vil være af standardstørrelse 128 MB, og den anden vil kun være på 7 MB, ikke 128 MB. På grund af dette spares en masse plads og diskens uretid.

Replikeringsstyring i HDFS-arkitektur:

HDFS er fejltolerant. Fejltolerance er en magt i systemet i tilfælde af fejl, og hvordan det reagerer på fejl og vanskelige forhold. Fejltolerance fungerer baseret på oprettelsen af ​​replika. Kopier af brugerdata gemmes på maskiner i DHFS-klyngen. Hvis der er nogen sammenbrud eller fejl i systemet, kan der fås en kopi af disse data fra de andre maskiner i HDFS-klyngen. Hver blok i HDFS-arkitektur har 3 replikker, der er gemt i forskellige DataNoder. NameNode opretholder de tilgængelige kopier i DataNodes. NameNode tilføjer eller sletter kopier baseret på kriterierne under underreplicerede eller overreplicerede blokke.

Skriv operation

For at skrive filer til HDFS kommunikerer klienten for metadata til NameNode. Navnekoden svarer med flere blokke, deres placering, kopier osv. Klient opdeler filer i flere blokke baseret på navnekodeoplysninger. Derefter begynder det at sende dem til DataNode. Først sender klienten blok A til DataNode 1 med andre oplysninger om DataNodes. Når DataNode 1 modtager klientens blok A, kopierer DataNode 1 den samme blok til det samme rack til DataNode 2. På grund af at begge DataNodes er i det samme rack, overføres blokken via rack switch. DataNode 2 kopierer nu den samme blok til DataNode 3 Fordi begge DataNodes findes i forskellige stativer, overføres blokken gennem en out-of -rack switch. Når DataNode modtager klientens blokke, sender den bekræftelsen til NameMode. Hver blok af filen, den samme proces gentages.

Læs operation

Ved læsefunktion kommunikerer den første klient for metadata til NameNode. En klient afslutter NameNode med filnavnet og placeringen. Navnekoden svarer med et bloknummer, placering, kopier og anden information. Derefter kommunikerer klienten til DataNodes. Baseret på de oplysninger, der er modtaget fra NameNode, begynder klienten at læse data parallelt fra DataNodes. Når al blokering af filen modtages af klienten eller applikationen, kombinerer den disse blokke til en original filform.

Konklusion - HDFS Arkitektur

Ved hjælp af NameNode og DataNode gemmer det pålidelige meget store filer på tværs af maskiner i en stor klynge. På grund af fejltolerance er det nyttigt at få adgang til data, mens software- eller hardwarefejl. Sådan fungerer HDFS-arkitektur.

Anbefalede artikler

Dette har været en guide til HDFS Arkitektur. Her diskuterede vi de grundlæggende koncepter med forskellige typer arkitektur, funktioner og replikationsstyring af HDFS Architecture. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Hvad er datamodellering?
  2. Hvad er datavisualisering
  3. Hvad er et datavarehus?
  4. Hvad er SQL Developer?

Kategori: