Introduksjon til HDFS Arkitektur

HDFS står for Hadoop Distribuerte filsystem som selv sier at filer er delt inn i blokker og lagret på flere maskiner.

Funksjoner ved HDFS

Funksjonene til HDFS som er som følger:

1. Tilgjengelighet

I HDFS blir data regelmessig replisert blant datanoder ved å opprette en kopi av blokker på den andre datanoden. Så i tilfelle maskinvarefeil eller feil kan brukeren hente dataene sine fra en annen dataknute hvor dataene er kopiert.

2. Skalerbarhet

I HDFS lagres data på flere datanoder i form av blokker. HDFS gjør det mulig for brukere å øke størrelsen på blokker når det er nødvendig. Det er to typer skalerbarhetsmekanisme som brukes i HDFS - horisontal skalerbarhet og vertikal skalerbarhet.

3. Replikasjon

Dette er de unike funksjonene i HDFS som lar en bruker få enkel tilgang til dataene sine i tilfelle maskinvarefeil.

HDFS Arkitektur

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

1. NameNode:

NameNode er også kjent som master node fordi den håndterer alle blokkene som er til stede på DataNodes.

NameNode utfører følgende oppgaver:

  • Administrer alle DataNode-blokkene
  • Gir filtilgang til brukeren
  • Holder alle postene over blokker som finnes på DataNode
  • NameNode registrerer all informasjon om filer, for eksempel hvis et filnavn får nytt navn eller innhold har blitt endret eller slettet. NameNode registrerer øyeblikkelig modifikasjonen i EditLogs
  • Det tar postene over alle blokkene fra datanodene for å sikre at all blokken er i live på DataNode.
  • I tilfelle feil, hvis noen maskinvarefeil oppstår, velger den umiddelbart en annen DataNode for å opprette replikering og administrere kommunikasjonen til alle DataNodes

Typer filer i NameNode

NameNode inneholder to typer filer FsImage og EditLogs

Jeg. FsImage: Det kalles også et filbilde fordi det inneholder all informasjonen på et filsystem med navnefelt. Den inneholder også alle kataloger og filene i filsystemet på en seriell måte.

ii. EditLogs: Gjeldende modifikasjoner gjort i filene i filsystemet lagres i EditLogs.

2. Sekundær navnNode

Secondary NameNode kalles også som en kontrollpunktsnode fordi den utfører vanlige sjekkpunkter. Den fungerer som en hjelper for primær NameNode.

Secondary NameNode utfører følgende oppgaver

  • Secondary NameNode kombinerer FsImage og EditLogs fra NameNode.
  • Den leser all informasjonen om filsystem fra lagringsminnet til NameNode og skriver denne informasjonen på harddisken til filsystemet.
  • Den laster ned FsImage og EditLogs fra NameNode med jevne mellomrom og leser modifikasjonsinformasjonen gjort EditLogs-filer og noterer endringen til FsImage. Denne prosessen oppretter ny FsImage som deretter sendes tilbake til NameNode. Hver gang NameNode starter vil den bruke disse FsImage.

3. DataNode

DataNode er også kjent som en slaveknute fordi den håndterer alle noder som inneholder data på en slavemaskin. DataNode lagrer data i filformat ext3 eller ext4.

Datanode utfører følgende oppgaver:

  • Alle data lagres på DataNodes
  • Den utfører alle operasjoner av filer i henhold til brukernes forespørsel, for eksempel å lese filinnhold, skrive nye data i filer,
  • Den følger også alle instruksjonene som gis av NameNode, for eksempel å gi nytt navn til filen, slette noen blokker på DataNode, opprette blokker osv.

4. Kontrollpunkt Node:

Checkpoint node er en node som opprettet et sjekkpunkt for filer med jevne mellomrom. Kontrollpunktsnode i HDFS, last ned FsImage og EditLogs fra NameNode og slå dem sammen for å lage et nytt bilde og sende det nye bildet til NameNode. Det siste sjekkpunktet lagres i en katalog med samme struktur som katalogen til navnekoden. På grunn av dette er det kontrollerte bildet alltid tilgjengelig hvis det er behov for det.

5. Sikkerhetskopi node:

Funksjonen til en sikkerhetskopienode ligner en Checkpoint-node for å utføre en sjekkpunktoppgave. I Hadoop lagrer backup-noden en siste og oppdatert kopi av filsystemets navneområde. Det er ikke nødvendig å laste ned FsImage og redigere logger filer fra den aktive NameNode for å opprette et sjekkpunkt i backup-noden fordi det er synkronisert med tilstanden til den aktive NameNode. Funksjonen til sikkerhetskopienoden er mer presis fordi du lagrer navneområdet i den lokale FsImage-filen og nullstiller editLogs.

6. Blokker:

Alle data fra brukere lagres i filer av HDFS som deretter blir delt inn i små segmenter. Disse segmentene er lagret i DataNodes. Segmentene som er til stede på DataNodes kalles som en blokk. Standard blokkstørrelse på disse blokkene er 128 MB. Størrelsen på blokken kan endres i henhold til brukerens krav ved å konfigurere HDFS.

Hvis datastørrelsen er mindre enn blokkstørrelsen, er blokkstørrelsen lik datastørrelsen. For eksempel, hvis dataene er på 135 MB, vil de opprette 2 blokker. Den ene vil ha standardstørrelse 128 MB, og den andre vil bare være på 7 MB, ikke 128 MB. På grunn av dette spares mye plass og diskens klokketid.

Replikeringshåndtering innen HDFS-arkitektur:

HDFS er feiltolerant. Feiltoleranse er en kraft i systemet i tilfelle feil og hvordan det reagerer på feilene og vanskelige forhold. Feiltoleranse fungerer basert på prosessen med kopiering. Kopier av brukerens data lagres på maskiner i DHFS-klyngen. Derfor, hvis det er noen sammenbrudd eller feil i systemet, kan du få tilgang til en kopi av disse dataene fra de andre maskinene i HDFS-klyngen. Hver blokk i HDFS-arkitektur har 3 kopier som er lagret i forskjellige DataNodes. NameNode opprettholder kopiene som er tilgjengelige i DataNodes. NameNode legger til eller sletter kopier basert på kriteriene til under replikerte eller overrepliserte blokker.

Skriv operasjon

For å skrive filer til HDFS, vil klienten kommunisere for metadata til NameNode. Navnekoden svarer med flere blokker, deres plassering, kopier osv. Klient deler filer inn i flere blokker basert på navnekodeinformasjon. Deretter begynner det å sende dem til DataNode. Først sender klienten blokk A til DataNode 1 med annen informasjon om DataNodes. Når DataNode 1 mottar klientens blokk A, kopierer DataNode 1 den samme blokken til det samme racket til DataNode 2. På grunn av at begge DataNodes er i samme rack, blir overføring av blokken gjort via rack switch. DataNode 2 kopierer nå den samme blokken til DataNode 3 Fordi begge DataNodes er i forskjellige stativer, blir overføringen av blokken gjort via en uten bryter. Når DataNode mottar klientens blokker, vil den sende bekreftelsen til NameMode. Hver blokk i filen, samme prosess blir gjentatt.

Les operasjon

For Lesedrift kommuniserer den første klienten for metadata til NameNode. En klient avslutter NameNode med filnavnet og plasseringen. Navnekoden svarer med et blokkeringsnummer, plassering, kopier og annen informasjon. Etter det kommuniserer klienten til DataNodes. Basert på informasjonen mottatt fra NameNode, begynner klienten å lese data parallelt fra DataNodes. Når all blokken av filen er mottatt av klienten eller applikasjonen, kombinerer den disse blokkene til en original filform.

Konklusjon - HDFS Arkitektur

Ved hjelp av NameNode og DataNode lagrer den pålitelig veldig store filer på tvers av maskiner i en stor klynge. På grunn av feiltoleranse er det nyttig å få tilgang til data mens programvare eller maskinvarefeil. Slik fungerer HDFS-arkitektur.

Anbefalte artikler

Dette har vært en guide til HDFS Architecture. Her diskuterte vi de grunnleggende konseptene med forskjellige typer arkitektur, funksjoner og replikasjonshåndtering av HDFS Architecture. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

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

Kategori: