Huis Persoonlijke financiën Gegevensblokken bijhouden met NameNode in HDFS - dummies

Gegevensblokken bijhouden met NameNode in HDFS - dummies

Inhoudsopgave:

Anonim

De NameNode fungeert als het adresboek voor Hadoop Distributed File System (HDFS) omdat het niet weet alleen welke blokken individuele bestanden vormen, maar ook waar elk van deze blokken en hun replica's worden opgeslagen. Wanneer een gebruiker een bestand opslaat in HDFS, wordt het bestand verdeeld in datablokken en worden drie exemplaren van deze datablokken opgeslagen in slave-knooppunten in het hele Hadoop-cluster.

Dat zijn veel gegevensblokken om bij te houden. Zoals je zou verwachten, maakt het weten waar de lichamen zijn begraven de NameNode tot een van de belangrijkste componenten in een Hadoop-cluster. Als de NameNode niet beschikbaar is, hebben applicaties geen toegang tot gegevens die zijn opgeslagen in HDFS.

Als u de volgende afbeelding bekijkt, kunt u de NameNode-daemon zien draaien op een master node-server. Alle kaartinformatie die te maken heeft met de datablokken en de bijbehorende bestanden wordt opgeslagen in een bestand met de naam.

HDFS is een journaling-bestandssysteem, wat betekent dat alle gegevenswijzigingen worden vastgelegd in een bewerkingsjournaal dat gebeurtenissen bijhoudt sinds het laatste ijkpunt - de laatste keer dat het bewerkingslogboek werd samengevoegd met. In HDFS wordt het bewerkingsjournaal onderhouden in een bestand met de naam die is opgeslagen op de NameNode.

NameNode opstarten en gebruiken

Om te begrijpen hoe NameNode werkt, is het handig om te kijken hoe het opstart. Omdat het doel van de NameNode is om applicaties te informeren over het aantal datablokken dat ze moeten verwerken en om de exacte locatie waar ze zijn opgeslagen te volgen, heeft het alle bloklocaties en block-to-file-toewijzingen nodig die beschikbaar zijn in RAM.

Dit zijn de stappen die de NameNode uitvoert. Om alle informatie te laden die de NameNode nodig heeft na het opstarten, gebeurt het volgende:

  1. De NameNode laadt het bestand in het geheugen.

  2. De NameNode laadt het bestand en speelt de gejournaliseerde wijzigingen opnieuw af om de metagegevens van het blok bij te werken die al in het geheugen aanwezig zijn.

  3. De DataNode-daemons verzenden de NameNode-blokrapporten.

    Voor elk slaveknooppunt is er een blokrapport met alle daarin opgeslagen gegevensblokken en wordt de gezondheid van elk blok beschreven.

Nadat het opstartproces is voltooid, heeft de NameNode een compleet beeld van alle gegevens die zijn opgeslagen in HDFS en is deze gereed voor het ontvangen van applicatieverzoeken van Hadoop-clients.

Aangezien databestanden worden toegevoegd en verwijderd op basis van clientaanvragen, worden de wijzigingen naar de schijfvolumes van de slave-node geschreven, worden er journaalupdates in het bestand gemaakt en worden de wijzigingen weerspiegeld in de bloklocaties en metagegevens die zijn opgeslagen in het geheugen van de NameNode.

Gedurende de hele levensduur van het cluster verzenden de DataNode-daemons de NameNode-hartslagen (een snel signaal) elke drie seconden om aan te geven dat ze actief zijn.(Deze standaardwaarde kan worden geconfigureerd.) Elke zes uur (opnieuw een configureerbare standaard) verzenden de DataNodes de NameNode een blokrapport waarin wordt aangegeven welke bestandsblokken zich op hun knooppunten bevinden. Op deze manier heeft de NameNode altijd een actueel overzicht van de beschikbare bronnen in het cluster.

Gegevens schrijven

Om nieuwe bestanden in HDFS te maken, zou het volgende proces moeten plaatsvinden:

  1. De client stuurt een verzoek naar de NameNode om een ​​nieuw bestand te maken.

    De NameNode bepaalt hoeveel blokken nodig zijn en de client krijgt een lease voor het maken van deze nieuwe bestandsblokken in de cluster. Als onderdeel van deze lease heeft de klant een tijdslimiet om de creatie-taak te voltooien. (Deze tijdslimiet zorgt ervoor dat opslagruimte niet wordt ingenomen door falende clienttoepassingen.)

  2. De client schrijft vervolgens de eerste exemplaren van de bestandsblokken naar de slaafknooppunten met behulp van de door de NameNode toegewezen lease.

    De NameNode verwerkt schrijfverzoeken en bepaalt waar de bestanden en hun replica's moeten worden geschreven, waarbij de beschikbaarheid en prestaties in balans worden gebracht. De eerste kopie van een bestandsblok wordt in één rek geschreven en de tweede en derde exemplaren worden op een ander rek geschreven dan het eerste exemplaar, maar in verschillende slaafknopen in hetzelfde rek. Deze opstelling minimaliseert het netwerkverkeer en zorgt ervoor dat er geen gegevensblokken op hetzelfde faalpunt staan.

  3. Terwijl elk blok naar HDFS wordt geschreven, schrijft een speciaal proces de overblijvende replica's naar de andere slaafknooppunten die worden geïdentificeerd door de NameNode.

  4. Nadat de DataNode daemons hebben bevestigd dat de replicabestanden zijn gemaakt, sluit de clienttoepassing het bestand en waarschuwt de NameNode, die vervolgens de open leaseovereenkomst sluit.

Gegevens lezen

Om bestanden van HDFS te lezen, zou het volgende proces moeten plaatsvinden:

  1. De client stuurt een verzoek naar de NameNode voor een bestand.

    De NameNode bepaalt welke blokken betrokken zijn en kiest, gebaseerd op de algehele nabijheid van de blokken ten opzichte van elkaar en voor de klant, het meest efficiënte toegangspad.

  2. De client benadert vervolgens de blokken met behulp van de adressen die zijn opgegeven door de NameNode.

Afwegingsgegevens in het Hadoop-cluster

Na verloop van tijd, met combinaties van ongelijkmatige gegevensopnamepatronen (waarbij sommige slaafknooppunten mogelijk meer gegevens hebben gekregen) of knooppuntfouten, worden gegevens waarschijnlijk ongelijk verdeeld over de racks en slave-knooppunten in uw Hadoop-cluster.

Deze ongelijkmatige verdeling kan een nadelig effect hebben op de prestaties omdat de vraag naar individuele slaafknooppunten uit balans raakt; knooppunten met weinig gegevens zullen niet volledig worden gebruikt; en knooppunten met veel blokken zullen te veel worden gebruikt. ( Opmerking: Het overmatig gebruik en ondergebruik zijn gebaseerd op schijfactiviteit, niet op CPU of RAM.)

HDFS bevat een balancer-hulpprogramma om blokken van overmatig gebruikte slaafknooppunten te hergebruiken voor onderbenutte apparaten terwijl het beleid van zetten behouden blijft blokken op verschillende slave-knooppunten en -rekken. Hadoop-beheerders moeten regelmatig de HDFS-status controleren en als de gegevens ongelijk verdeeld worden, moeten ze het hulpprogramma voor balancering inschakelen.

NameNode-hoofdserverontwerp

Vanwege de bedrijfskritische aard ervan, heeft de masterserver waarop de NameNode-daemon wordt uitgevoerd opvallend verschillende hardwarevereisten nodig dan die voor een slaafknooppunt. Het belangrijkste is dat componenten op bedrijfsniveau moeten worden gebruikt om de kans op een storing te minimaliseren. Bovendien hebt u voldoende RAM-geheugen nodig om alle metagegevens en locatiegegevens over alle gegevensblokken die zijn opgeslagen in HDFS in het geheugen te laden.

Gegevensblokken bijhouden met NameNode in HDFS - dummies

Bewerkers keuze

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Wanneer het komt om het voordeel dat u van LinkedIn krijgt te maximaliseren, bent u uw grootste pleitbezorger. Hoewel je netwerk van connecties je helpt te groeien, gebeurt veel van je marketing zonder dat je erbij betrokken bent. Nadat je je profiel hebt aangemaakt, worden die en andere LinkedIn-activiteit van je gelezen en beoordeeld door de ...

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Deze dagen, wanneer u naar een nieuwe stad moet verhuizen, kunt u er veel plannen voor maken op LinkedIn en op internet. Je kunt de buurten onderzoeken, de schoolsystemen bekijken en online naar huizen gaan. Je kunt een stap verder gaan als je van plan bent om naar een andere ...

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

U zeker wilt dat u de juiste instellingen selecteert contactinstellingen voor uw LinkedIn-profiel. Als u bijvoorbeeld op zoek bent naar een nieuwe baan, wilt u er zeker van zijn dat de optie voor Carrièremogelijkheden is gecontroleerd. Wanneer u klaar bent om uw contactinstellingen te controleren, volgt u deze stappen: Ga naar ...

Bewerkers keuze

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Uw Canon EOS Rebel XS / 1000D heeft alle functies die u kunt gebruiken om fantastische foto's te maken. Je moet de beeldmodus instellen op het onderwerp van je foto en de Canon EOS Rebel XS / 1000D laat je volledig of gedeeltelijk automatisch gaan met de belichtingsinstellingen.

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Live-modus Met autofocus kunt u de focus instellen op uw Canon EOS Rebel T3 of T3i zonder tijdelijk het voorbeeld van de monitor te verliezen. Bovendien, in plaats van het selecteren van negen autofocuspunten, verplaatst u eenvoudig een enkel scherpstelpunt over uw onderwerp. Aan de andere kant is de autofocus van de Live-modus merkbaar langzamer dan in de Quick-modus, en ...

Bewerkers keuze

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Tekstgrootte wordt ingesteld in uw Word 2016 document gebaseerd over de meting van de oude letterzetter, ook wel punten genoemd. Hier zijn enkele aandachtspunten waarmee u rekening moet houden bij het opmaken van tekst in Word: hoe groter de puntgrootte, hoe groter de tekst. De meeste gedrukte tekst is 10 of 12 punten lang. Koppen zijn meestal 14 ...

Grammatica controleren in Word 2007 - dummies

Grammatica controleren in Word 2007 - dummies

Naast het controleren op correcte spelling, kunt u met Word 2007 ook om uw documenten te bewijzen om grammaticale fouten te voorkomen. U kunt de grammaticasuggesties van Word bekijken terwijl u door het document bladert, of u kunt een traditionele spellingcontrole uitvoeren. Word biedt u zelfs de kans om de gemarkeerde fout te onderzoeken en meer te leren van ...

Spelling controleren terwijl u typt in Word 2013 - dummies

Spelling controleren terwijl u typt in Word 2013 - dummies

Woord 2013 heeft een interne bibliotheek vol met ontelbare woorden, allemaal correct gespeld. Telkens wanneer u een woord typt, wordt het vergeleken met dat woordenboek. Wanneer het woord niet wordt gevonden, wordt dit als verdacht gemarkeerd in uw document. Het merk is een rode zigzaglijn. Mijn advies: blijf typen. Laat de "rode zigzag van een ...