Inleiding tot HDFS-architectuur

HDFS staat voor Hadoop Distributed File System dat zelf zegt dat bestanden in blokken zijn verdeeld en op verschillende machines zijn opgeslagen.

Kenmerken van HDFS

De kenmerken van de HDFS zijn als volgt:

1. Beschikbaarheid

In HDFS worden gegevens regelmatig gerepliceerd tussen gegevensknooppunten door een replica van blokken op het andere gegevensknooppunt te maken. Dus in geval van hardwarefouten of -fouten kan de gebruiker zijn gegevens ophalen uit een ander gegevensknooppunt waar de gegevens zijn gerepliceerd.

2. Schaalbaarheid

In HDFS worden gegevens opgeslagen op meerdere gegevensknooppunten in de vorm van blokken. Met HDFS kunnen gebruikers de grootte van blokken vergroten wanneer dat nodig is. Er zijn twee typen schaalbaarheidsmechanisme die in HDFS worden gebruikt: horizontale schaalbaarheid en verticale schaalbaarheid.

3. Replicatie

Dit zijn de unieke kenmerken van HDFS waarmee een gebruiker gemakkelijk toegang heeft tot zijn gegevens in geval van een hardwarefout.

HDFS-architectuur

HDFS volgt master-slave-architectuur die de volgende componenten heeft:

1. NaamNode:

NameNode wordt ook wel master node genoemd omdat het alle blokken afhandelt die op DataNodes aanwezig zijn.

NameNode voert de volgende taken uit:

  • Beheer alle DataNode-blokken
  • Geeft bestandstoegang aan de gebruiker
  • Houdt alle records van blokken op DataNode bij
  • NameNode registreert alle informatie van bestanden, bijvoorbeeld als een bestandsnaam een ​​andere naam heeft of de inhoud is gewijzigd of verwijderd. NameNode neemt die wijziging onmiddellijk op in EditLogs
  • Het neemt de records van alle blokken van de dataknooppunten om ervoor te zorgen dat alle blokken op DataNode leven.
  • In geval van een fout, als er een hardwarefout optreedt, selecteert het onmiddellijk een andere DataNode om replicatie te maken en de communicatie naar alle DataNodes te beheren

Typen bestanden in NameNode

NameNode bevat twee soorten bestanden FsImage en EditLogs

ik. FsImage: het wordt ook een bestandsafbeelding genoemd omdat het alle informatie over een bestandssysteem met naamruimten bevat. Het bevat ook alle mappen en bestanden van het bestandssysteem op een geserialiseerde manier.

ii. EditLogs: huidige wijzigingen in de bestanden van het bestandssysteem worden opgeslagen in EditLogs.

2. Secundaire naamNode

Secundaire NameNode wordt ook wel een controlepuntknoop genoemd omdat deze regelmatig controlepunten uitvoert. Het fungeert als een helper voor primaire NameNode.

Secundaire NameNode voert de volgende taken uit

  • Secundaire NameNode combineert FsImage en EditLogs uit de NameNode.
  • Het leest alle informatie van het bestandssysteem uit het opslaggeheugen van NameNode en schrijft deze informatie op een harde schijf van het bestandssysteem.
  • Het downloadt de FsImage en EditLogs met regelmatige tussenpozen van NameNode en leest de wijzigingsinformatie van de EditLogs-bestanden en noteert de wijziging in de FsImage. Dit proces creëert een nieuwe FsImage die vervolgens wordt teruggestuurd naar de NameNode. Wanneer de NameNode start, gebruikt deze deze FsImage.

3. DataNode

DataNode is ook bekend als een slave-knooppunt omdat het elke knooppunt verwerkt dat gegevens op een slave-machine bevat. DataNode slaat gegevens op in ext3- of ext4-bestandsindeling.

Dataknooppunt voert de volgende taken uit:

  • Alle gegevens worden opgeslagen op DataNodes
  • Het voert alle bewerkingen van bestanden uit volgens het verzoek van de gebruiker, bijvoorbeeld het lezen van bestandsinhoud, het schrijven van nieuwe gegevens in bestanden,
  • Het volgt ook alle instructies die door NameNode worden gegeven, bijvoorbeeld het hernoemen van het bestand, het verwijderen van enkele blokken op DataNode, het maken van blokken, enz.

4. Controlepuntknooppunt:

Controlepuntknooppunt is een knooppunt dat op regelmatige tijdstippen een controlepunt van bestanden heeft gemaakt. Checkpoint-knooppunt in HDFS, download de FsImage en EditLogs van NameNode en voeg ze samen om een ​​nieuwe afbeelding te maken en die nieuwe afbeelding naar NameNode te verzenden. Het laatste controlepunt wordt opgeslagen in een map met dezelfde structuur als de map van de namenode. Hierdoor is de gecheckte afbeelding altijd beschikbaar als deze nodig is.

5. Backup knooppunt:

De functie van een back-upknooppunt is vergelijkbaar met een Checkpoint-knooppunt om een ​​controlepunttaak uit te voeren. In Hadoop slaat het back-upknooppunt een laatste en bijgewerkte kopie van de naamruimte van het bestandssysteem op. Het is niet nodig om FsImage en editsLogs-bestanden te downloaden van de actieve NameNode om een ​​controlepunt in het back-upknooppunt te maken, omdat dit is gesynchroniseerd met de status van actieve NameNode. De functie van het back-upknooppunt is preciezer omdat de naamruimte in het lokale FsImage-bestand wordt opgeslagen en editLogs wordt gereset.

6. blokken:

Alle gegevens van gebruikers worden opgeslagen in bestanden van HDFS die vervolgens worden onderverdeeld in kleine segmenten. Deze segmenten worden opgeslagen in de DataNodes. De segmenten die aanwezig zijn op DataNodes worden als een blok genoemd. De standaardblokgrootte van deze blokken is 128 MB. De grootte van het blok kan worden gewijzigd per gebruikersvereisten door HDFS te configureren.

Als de gegevensgrootte kleiner is dan de blokgrootte, is de blokgrootte gelijk aan de gegevensgrootte. Als de gegevens bijvoorbeeld 135 MB zijn, worden er 2 blokken gemaakt. De ene is standaard 128 MB groot en de andere alleen 7 MB, niet 128 MB. Hierdoor wordt veel ruimte en de kloktijd van de schijf bespaard.

Replicatiebeheer in HDFS-architectuur:

HDFS is fouttolerant. Fouttolerantie is een kracht van het systeem in geval van storingen en hoe het reageert op de fouten en moeilijke omstandigheden. Fouttolerantie werkt op basis van het proces van het maken van replica's. Kopieën van gebruikersgegevens worden opgeslagen op machines in DHFS-cluster. Vandaar dat als er een storing of storing in het systeem is, een kopie van die gegevens toegankelijk is vanaf de andere machines van het HDFS-cluster. Elk blok in HDFS-architectuur heeft 3 replica's die zijn opgeslagen in verschillende DataNodes. NameNode onderhoudt de exemplaren die beschikbaar zijn in DataNodes. NameNode voegt kopieën toe of verwijdert deze op basis van de criteria van te weinig of te veel gerepliceerde blokken.

Schrijf operatie

Om bestanden naar HDFS te schrijven, communiceert de client voor metagegevens naar de NameNode. De Nameode antwoordt met verschillende blokken, hun locatie, kopieën, enz. Client verdeelt bestanden in meerdere blokken op basis van naamode-informatie. Vervolgens begint het ze naar DataNode te verzenden. Eerst verzendt de client blok A naar DataNode 1 met andere informatie over DataNodes. Wanneer DataNode 1 blok A van de klant ontvangt, kopieert DataNode 1 hetzelfde blok naar hetzelfde rack naar DataNode 2. Omdat beide DataNodes zich in hetzelfde rack bevinden, gebeurt het overbrengen van het blok via een rackschakelaar. DataNode 2 kopieert nu hetzelfde blok naar DataNode 3 Omdat beide DataNodes zich in verschillende racks bevinden, gebeurt het overbrengen van het blok via een out-of-rail-schakelaar. Nadat DataNode de blokken van de klant heeft ontvangen, wordt de bevestiging naar NameMode verzonden. Elk blok van het bestand wordt hetzelfde proces herhaald.

Lees operatie

Voor leesbewerking communiceert de eerste client voor metagegevens met de NameNode. Een client verlaat NameNode met de bestandsnaam en locatie. De Nameode antwoordt met een bloknummer, locatie, kopieën en andere informatie. Daarna communiceert de klant met DataNodes. Op basis van de informatie die is ontvangen van de NameNode, begint de client gegevens parallel van de DataNodes te lezen. Wanneer alle blokken van het bestand door de client of toepassing zijn ontvangen, worden deze blokken in een originele bestandsvorm gecombineerd.

Conclusie - HDFS-architectuur

Met behulp van NameNode en DataNode slaat het betrouwbaar zeer grote bestanden op meerdere machines op in een groot cluster. Vanwege fouttolerantie is het handig om toegang te krijgen tot gegevens terwijl software- of hardwarefouten optreden. Dit is hoe de HDFS-architectuur werkt.

Aanbevolen artikelen

Dit is een gids voor HDFS-architectuur geweest. Hier hebben we de basisconcepten besproken met verschillende soorten architectuur, functies en replicatiebeheer van HDFS-architectuur. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Wat is gegevensmodellering?
  2. Wat is datavisualisatie
  3. Wat is een datawarehouse?
  4. Wat is SQL Developer?

Categorie: