Inhoudsopgave:
Video: Big Data Tutorial For Beginners - Lesson 1 | Big Data Introduction | Simplilearn 2024
Het Hadoop Distributed File System is een veelzijdige, veerkrachtige, geclusterde benadering voor het beheren van bestanden in een big data-omgeving. HDFS is niet de eindbestemming voor bestanden. Het is eerder een dataservice die een unieke reeks mogelijkheden biedt die nodig zijn wanneer datavolumes en -snelheid hoog zijn. Omdat de gegevens eenmaal worden geschreven en daarna vele malen daarna worden gelezen, in plaats van de constante read-write van andere bestandssystemen, is HDFS een uitstekende keuze voor het ondersteunen van big data-analyse.
Big data NameNodes
HDFS werkt door grote bestanden te splitsen in kleinere stukjes, blokken . De blokken worden opgeslagen op gegevensknooppunten en het is de verantwoordelijkheid van NameNode om te weten welke blokken op welke gegevensknooppunten het volledige bestand bestaat. De NameNode fungeert ook als een 'verkeersagent' en beheert alle toegang tot de bestanden.
De volledige verzameling van alle bestanden in het cluster wordt soms de naamruimte van het bestandssysteem genoemd. Het is de taak van de NameNode om deze naamruimte te beheren.
Hoewel er een sterke relatie bestaat tussen de NameNode en de gegevensknooppunten, werken ze op een "losjes gekoppelde" manier. Hierdoor kunnen de clusterelementen zich dynamisch gedragen door servers toe te voegen naarmate de vraag toeneemt. In een typische configuratie vindt u een NameNode en mogelijk een gegevensknooppunt op één fysieke server in het rack. Andere servers hebben alleen gegevensknooppunten.
De gegevensknooppunten communiceren onderling, zodat ze kunnen samenwerken tijdens normale bestandsysteembewerkingen. Dit is nodig omdat blokken voor één bestand waarschijnlijk op meerdere gegevensknooppunten worden opgeslagen. Omdat de NameNode zo cruciaal is voor de juiste werking van het cluster, kan het en moet het worden gerepliceerd om te beschermen tegen een fout met één punt.
Grote gegevensknooppunten
Gegevensknooppunten zijn niet slim, maar ze zijn veerkrachtig. Binnen het HDFS-cluster worden datablokken gerepliceerd over meerdere gegevensknooppunten en wordt de toegang beheerd door de NameNode. Het replicatiemechanisme is ontworpen voor optimale efficiëntie wanneer alle knooppunten van het cluster in een rek worden verzameld. In feite gebruikt de NameNode een "rack-ID" om de gegevensknooppunten in het cluster bij te houden.
Gegevensknooppunten bieden ook "heartbeat" -berichten om de verbinding tussen de NameNode en de gegevensknooppunten te detecteren en te verzekeren. Wanneer een heartbeat niet langer aanwezig is, ontkoppelt de NameNode het gegevensknooppunt uit het cluster en blijft werken alsof er niets is gebeurd. Wanneer de hartslag terugkeert, wordt deze transparant aan het cluster toegevoegd met betrekking tot de gebruiker of applicatie.
Gegevensintegriteit is een belangrijk kenmerk. HDFS ondersteunt een aantal mogelijkheden die zijn ontworpen om gegevensintegriteit te bieden. Zoals u zou verwachten, kunnen bestanden die in blokken zijn opgedeeld en vervolgens over verschillende servers in het cluster worden gedistribueerd, elke variatie in de werking van elk element de gegevensintegriteit beïnvloeden. HDFS gebruikt transactielogboeken en controlesomvalidatie om de integriteit van het cluster te waarborgen.
Transactielogboeken houden elke bewerking bij en zijn effectief bij het controleren of opnieuw opbouwen van het bestandssysteem mocht er iets ongewenst gebeuren.
Controlesomvalidaties worden gebruikt om de inhoud van bestanden in HDFS te garanderen. Wanneer een client een bestand opvraagt, kan het de inhoud verifiëren door de controlesom te bekijken. Als de controlesom overeenkomt, kan de bestandsbewerking doorgaan. Zo niet, dan wordt er een fout gerapporteerd. Checksum-bestanden zijn verborgen om geknoei te voorkomen.
Data-knooppunten gebruiken lokale schijven in de grondstoffen-server voor persistentie. Alle datablokken worden lokaal opgeslagen, voornamelijk om prestatieredenen. Gegevensblokken worden gerepliceerd over verschillende gegevensknooppunten, dus het falen van één server hoeft niet noodzakelijkerwijs een bestand te beschadigen. De mate van replicatie, het aantal gegevensknooppunten en de HDFS-naamruimte worden vastgesteld wanneer het cluster wordt geïmplementeerd.
HDFS voor big data
HDFS pakt grote gegevensuitdagingen aan door bestanden te splitsen in een verwante verzameling kleinere blokken. Deze blokken worden verdeeld over de gegevensknooppunten in het HDFS-cluster en worden beheerd door de NameNode. Blokgroottes zijn configureerbaar en zijn meestal 128 megabytes (MB) of 256 MB, wat betekent dat een bestand van 1 GB acht blokken van 128 MB verbruikt voor de standaard opslagbehoeften.
HDFS is veerkrachtig, dus deze blokken worden in het hele cluster gerepliceerd in het geval van een serverstoring. Hoe houdt HDFS al deze stukken bij? Het korte antwoord is bestandssysteem metadata .
Metagegevens worden gedefinieerd als 'gegevens over gegevens'. "Denk aan HDFS-metadata als sjabloon voor een gedetailleerde beschrijving van het volgende:
-
Wanneer het bestand is gemaakt, geopend, gewijzigd, verwijderd enzovoort
-
Waar de blokken van het bestand zijn opgeslagen in het cluster < Wie heeft de rechten om het bestand te bekijken of aan te passen
-
Hoeveel bestanden worden in het cluster opgeslagen
-
Hoeveel dataknooppunten zijn er in het cluster
-
De locatie van het transactielogboek voor het cluster
-
HDFS metagegevens worden opgeslagen in de NameNode en terwijl de cluster actief is, worden alle metagegevens in het fysieke geheugen van de NameNode-server geladen. Zoals je zou verwachten, hoe groter het cluster, des te groter de footprint van de metadata.
Wat doet een blokserver precies? Bekijk de volgende lijst:
Slaat de datablokken op in het lokale bestandssysteem van de server. HDFS is beschikbaar op veel verschillende besturingssystemen en gedraagt zich hetzelfde, of het nu op Windows, Mac OS of Linux is.
-
Slaat de metagegevens van een blok op in het lokale bestandssysteem op basis van het metadatasjabloon in de NameNode.
-
Voert periodieke validaties uit van bestandcontrolesommen.
-
Verzendt regelmatig rapporten naar de NameNode over welke blokken beschikbaar zijn voor bestandsbewerkingen.
-
Levert metadata en gegevens aan klanten op aanvraag. HDFS ondersteunt directe toegang tot de gegevensknooppunten vanuit clienttoepassingsprogramma's.
-
Stuur gegevens door naar andere gegevensknooppunten op basis van een "pipelining" -model.
-
Blokplaatsing op de gegevensknooppunten is van cruciaal belang voor gegevensreplicatie en ondersteuning voor gegevenspipelining. HDFS bewaart één replica van elk blok lokaal. HDFS is serieus over gegevensreplicatie en veerkracht.