Hem Personliga finanser Håll reda på datablock med NameNode i HDFS - dummies

Håll reda på datablock med NameNode i HDFS - dummies

Innehållsförteckning:

Video: Sammansättning av skåpstomme med centrumtappborrmaskinen. 2024

Video: Sammansättning av skåpstomme med centrumtappborrmaskinen. 2024
Anonim

NamnNoden fungerar som adressboken för Hadoop Distributed File System (HDFS) eftersom det inte vet endast vilka block som utgör enskilda filer, men också var var och en av dessa block och deras replikor lagras. När en användare lagrar en fil i HDFS, är filen uppdelad i datablock och tre kopior av dessa datablock lagras i slavnoder i hela Hadoop-klyftan.

Det finns många datablock för att hålla reda på. Som du kanske förväntar dig, vet du var kroppen är begravd, gör NameNode en kritiskt viktig komponent i ett Hadoop-kluster. Om NameNode inte är tillgängligt kan program inte få tillgång till data som lagras i HDFS.

Om du tittar på följande bild kan du se namnet Namnodem som körs på en huvudnodningsservern. All kartinformation som hanterar datablocken och deras motsvarande filer lagras i en fil som heter.

HDFS är ett journaling-filsystem, vilket innebär att alla dataändringar loggas i en redigeringsjournal som spårar händelser sedan den sista kontrollpunkten - sista gången då redigeringsloggen slogs samman. I HDFS upprätthålls redigeringsjournalen i en fil med namnet som lagras på NameNode.

NameNode start och drift

För att förstå hur NameNode fungerar, är det bra att titta på hur det börjar. Eftersom namnet med NameNode är att informera om hur många datablock de behöver för att bearbeta och hålla reda på den exakta platsen där de lagras behöver den alla blockpositioner och block-to-file mappings som finns tillgängliga i BAGGE.

Det här är stegen som NameNode tar. För att ladda all information som NamnNoden behöver efter det att den startas sker följande:

  1. NamnNoden laddar filen i minnet.

  2. NamnNoden laddar filen och återspelar de journalerade ändringarna för att uppdatera blockmetadata som redan finns i minnet.

  3. DataNode-daemonerna skickar namnen Blockera rapporter.

    För varje slavnod finns en blockrapport som listar alla datablock som finns lagrade där och beskriver hälsan för var och en.

Efter att startprocessen är klar har NameNode en komplett bild av alla data som är lagrade i HDFS, och den är redo att ta emot ansökningsförfrågningar från Hadoop-klienter.

Eftersom datafiler läggs till och tas bort baserat på klientförfrågningar skrivs ändringarna till slavnodens diskvolymer, journaluppdateringar görs till filen och ändringarna återspeglas i blockplatserna och metadata som är lagrade i namnet på NameNode.

Under hela klusterlivet skickar DataNode-daemonerna NameNode-hjärtslag (en snabbsignal) var tredje sekund, vilket indikerar att de är aktiva.(Det här standardvärdet kan konfigureras.) Varje sex timmar (igen en konfigurerbar standard) skickar DataNoder NameNode en blockrapport som beskriver vilka filblock som finns på deras noder. På så sätt har NameNode alltid en aktuell vy över tillgängliga resurser i klustret.

Skriva data

För att skapa nya filer i HDFS måste följande process ske:

  1. Klienten skickar en begäran till NameNode för att skapa en ny fil.

    Namnnoden bestämmer hur många block som behövs, och klienten får ett leasingavtal för att skapa dessa nya filblock i klustret. Som en del av detta leasingavtal har klienten en tidsgräns för att slutföra skapningsuppgiften. (Denna tidsgräns säkerställer att lagringsutrymmet inte tas upp vid misslyckade klientapplikationer.)

  2. Klienten skriver sedan de första kopiorna av filblocken till slavnoderna med hjälp av det leasingavtal som tilldelats av NameNode.

    NameNode hanterar skrivförfrågningar och bestämmer var filblokken och deras replikor måste skrivas, balansera tillgänglighet och prestanda. Den första kopian av ett filblock är skrivet i ett rack, och den andra och tredje kopian är skriven på ett annat rack än den första kopian, men i olika slavnoder i samma rack. Detta arrangemang minimerar nätverkstrafiken samtidigt som det säkerställs att inga datablock är på samma misslyckande punkt.

  3. Eftersom varje block är skrivet till HDFS skriver en särskild process de återstående replikerna till de andra slavnoderna som identifieras av NameNode.

  4. Efter att DataNode-daemonerna har bekräftat att filblockreplikor har skapats stänger klientprogrammet filen och meddelar namnet Noden, vilket stänger öppet leasingavtal.

Läser data

För att läsa filer från HDFS måste följande process ske:

  1. Klienten skickar en begäran till NameNode för en fil.

    NameNode bestämmer vilka block som är inblandade och väljer, baserat på blockens övergripande närhet till varandra och till klienten, den mest effektiva åtkomstvägen.

  2. Klienten får sedan åtkomst till blocken med de adresser som ges av NameNode.

Balansering av data i Hadoop-klyftan

Över tiden, med kombinationer av ojämna dataintagningsmönster (där vissa slavnoder kan ha mer data skrivna till dem) eller nodefel, kommer data sannolikt att vara ojämnt fördelade över rackarna och slavnoder i ditt Hadoop-kluster.

Denna ojämn fördelning kan ha en negativ inverkan på prestanda eftersom efterfrågan på enskilda slavnoder kommer att bli obalanserad. noder med små data kommer inte att användas fullt ut; och noder med många block kommer att vara överanvända. ( Obs: Överanvändningen och underanvändningen är baserad på diskaktivitet, inte på CPU eller RAM.)

HDFS innehåller ett balanseringsverktyg för att omfördela block från överutnyttjade slavnoder till underutnyttjade enheter, samtidigt som man håller fast att block på olika slave noder och ställen. Hadoop-administratörer bör regelbundet kontrollera HDFS-hälsa, och om uppgifterna blir ojämnt fördelade bör de anropa balanserverktyget.

NameNode masterserverdesign

På grund av sin missionskritiska karaktär behöver mästarservern som kör NameNode-demonen markant olika hårdvarukrav än de för en slavnod. Mest viktigt måste komponenter på företagsnivå användas för att minimera sannolikheten för ett avbrott. Dessutom behöver du tillräckligt med RAM för att ladda alla metadata och platsdata i minnet om alla datablock som är lagrade i HDFS.

Håll reda på datablock med NameNode i HDFS - dummies

Redaktörens val

Hur man lägger till text i en sätter () Funktion i C Programmering

Hur man lägger till text i en sätter () Funktion i C Programmering

När du behöver visa en annan textrad, använd C-programmeringsfärdigheterna för att skapa en annan puts () -funktion i källkoden, som visas i Visa två textlinjer. VISA TILL TEXTFINER # inkludera int main () {sätter ("Hickory, Dickory, Dock,"); sätter ("musen sprang klockan."); returnera (0);} Den andra ...

Förklarar variabler i C-dummies

Förklarar variabler i C-dummies

Variabler är det som gör dina program zooma. Programmering kan bara inte bli gjort utan dem. Så om du inte har introducerats till variabler än, här går du. Valerie Variable är en numerisk variabel. Hon älskar att hålla nummer - vilket nummer som helst; det spelar ingen roll. När hon ser ett lika tecken tar hon ett värde och ...

Redaktörens val

Gör rädsla för din vän - dummies

Gör rädsla för din vän - dummies

Rädsla är lika verklig som mod. Även om värdet av rädsla inte är lika uppenbart som modets värde, har det dess fördelar. Rädsla är din instinkt som säger att du är obehaglig - även om situationen inte kommer att skada dig. Alla har haft den känslan när man hellre drar locket ...

Hur man ökar din självmedvetenhet - dummies

Hur man ökar din självmedvetenhet - dummies

Du kommer att vara med dig själv under en livstid. Ingenting kommer att förändra det faktum. Att lära känna, som att lyssna på och uppskatta själv är avgörande för din sanity. Kanske kommer du till att älska, acceptera och omfamna alla du är, är svår för dig att föreställa dig just nu, men du kan göra ...

Hur man ökar din mentala flexibilitet - dummies

Hur man ökar din mentala flexibilitet - dummies

ÄR flexibel i arbete och relationer är ett tecken på en högpresterande. Medan perfektionister är styva och obehagliga i sitt arbete och hur de interagerar med andra, är högpresterande mer öppna och tillmötesgående. Att vara mer flexibel på jobbet gav Ralph aldrig förslag under brainstorming vid gruppmöten. Han kände att hans lag ...

Redaktörens val

Nätverksadministration: Linux-installation och virtuella konsoler - dummies

Nätverksadministration: Linux-installation och virtuella konsoler - dummies

Linux är i sig ett kommandoradsorienterat operativsystem. Grafiska användargränssnitt - inklusive installationsprogrammets GUI - tillhandahålls av en valfri komponent som heter X Window System. Men medan du arbetar med det grafiska användargränssnittet för installationsprogrammet, håller Linux flera ytterligare kommandorads-konsoler öppna. Normalt behöver du inte ...

Nätverksadministration: Linux-loggning, logg och systemavstängning - dummies

Nätverksadministration: Linux-loggning, logg och systemavstängning - dummies

Alla användare som åtkomst ett Linux-system, lokalt eller över ett nätverk, måste verifieras av ett giltigt användarkonto på systemet. I det följande får du veta hur du loggar in och ut på ett Linux-system och hur du stänger av systemet. Logga in När Linux startar upp visas det ...

Nätverksadministration: Licensserver - Dummies

Nätverksadministration: Licensserver - Dummies

I vissa program kan du köpa nätverkslicenser som gör att du kan installera programvaran på många datorer som du vill, men reglera antalet personer som kan använda programvaran vid en viss tidpunkt. För att styra hur många som använder programvaran, är en särskild licensserver inrättad. När en användare börjar ...