Hem Personliga finanser Hadoop Distributed File System (HDFS) för Big Data Projects - dummies

Hadoop Distributed File System (HDFS) för Big Data Projects - dummies

Innehållsförteckning:

Video: Big Data analytics Hadoop with Mapreduce, HIVE, PIG , Zookeeper and Spark Class 1 2024

Video: Big Data analytics Hadoop with Mapreduce, HIVE, PIG , Zookeeper and Spark Class 1 2024
Anonim

Hadoop Distributed File System är ett mångsidigt, fjädrande, klusterriktat sätt att hantera filer i en stor datamiljö. HDFS är inte det slutliga målet för filer. Det är snarare en datatjänst som erbjuder en unik uppsättning funktioner som behövs när datamängder och hastighet är höga. Eftersom data skrivs en gång och sedan läses många gånger därefter, istället för de konstanta lässkrivningarna av andra filsystem, är HDFS ett utmärkt val för att stödja stor dataanalys.

Stora data NameNodes

HDFS fungerar genom att bryta stora filer i mindre bitar som heter block . Blockerna lagras på data noder, och det är Namnos ansvar att veta vilka block på vilka datodenoder som utgör den fullständiga filen. NamnNoden fungerar också som en "trafikpolis", som hanterar all åtkomst till filerna.

Den kompletta samlingen av alla filer i klustret kallas ibland filsystemet namespace. Det är namnnamnets jobb att hantera denna namnrymd.

Även om det finns ett starkt samband mellan NameNode och datodenoderna, fungerar de på ett "löst kopplat" sätt. Detta gör att klusterelementen kan fungera dynamiskt och lägger till servrar som efterfrågan ökar. I en typisk konfiguration hittar du en NameNode och eventuellt en datanod som körs på en fysisk server i racketen. Andra servrar kör endast datodenoder.

Datodenoderna kommunicerar med varandra så att de kan samarbeta under normal filsystemoperation. Detta är nödvändigt eftersom block för en fil sannolikt kommer att lagras på flera datodenoder. Eftersom NameNode är så kritisk för korrekt hantering av klustret, kan och bör det replikeras för att skydda mot ett enda punktfel.

Stora data noder

Datodenoder är inte smarta, men de är fjädrande. Inom HDFS-klustret replikeras datablock över flera datodenoder och åtkomst hanteras av NameNode. Replikeringsmekanismen är konstruerad för optimal effektivitet när alla noder i klustret samlas in i ett rack. I själva verket använder NameNode ett "rack-ID" för att hålla reda på datodenoderna i klustret.

Datodenoder ger också "hjärtslag" -meddelanden för att detektera och säkerställa anslutning mellan NameNode och datodenoderna. När ett hjärtslag inte längre är närvarande, avmarkerar NameNode datodenoden från klustret och fortsätter att fungera som om ingenting hände. När hjärtslaget återvänder läggs det till klustret öppet med avseende på användaren eller applikationen.

Dataintegritet är en nyckelfunktion. HDFS stöder ett antal funktioner som är utformade för att ge dataintegritet. Som du kanske förväntar dig, när filer bryts in i block och sedan distribueras över olika servrar i klustret, kan eventuell variation i driften av något element påverka dataintegriteten. HDFS använder transaktionsloggar och kontrollsumvalidering för att säkerställa integritet över klustret.

Transaktionsloggar håller reda på varje operation och är effektiva vid revision eller ombyggnad av filsystemet om något skulle uppstå.

Kontrollsumvalider används för att garantera innehållet i filer i HDFS. När en klient begär en fil kan den verifiera innehållet genom att undersöka sin kontrollsumma. Om kontrollsumman matchar kan filoperationen fortsätta. Om inte, rapporteras ett fel. Checksum-filer är dolda för att undvika manipulering.

Datodnoder använder lokala diskar på råvareservern för uthållighet. Alla datablock lagras lokalt, främst av prestationsskäl. Datablock replikeras över flera datodenoder, så misslyckandet av en server behöver inte nödvändigtvis korrumpera en fil. Graden av replikering, antalet data noder och HDFS namnrymden etableras när klustret implementeras.

HDFS för stora data

HDFS adresserar stora datautmaningar genom att bryta filer till en relaterad samling av mindre block. Dessa block distribueras bland datodenoderna i HDFS-klustret och hanteras av NameNode. Blockstorlekar är konfigurerbara och är vanligtvis 128 megabyte (MB) eller 256 MB, vilket betyder att en 1 GB-fil förbrukar åtta 128 MB block för sina grundläggande lagringsbehov.

HDFS är fjädrande, så dessa block replikeras i hela klustret vid ett serverns fel. Hur håller HDFS reda på alla dessa bitar? Det korta svaret är filsystemet metadata .

Metadata definieras som "data om data. "Tänk på HDFS-metadata som en mall för att ge en detaljerad beskrivning av följande:

  • När filen skapades, öppnades, ändrats, raderades och så vidare

  • Där filens block sparas i klustret < Vem har rätt att visa eller ändra filen

  • Hur många filer lagras i klustret

  • Hur många datodenoder finns i klustret

  • Platsen för transaktionsloggen för klustret

  • HDFS metadata lagras i NameNode, och medan klustret fungerar, laddas alla metadata i det fysiska minnet på NameNode-servern. Som du kanske förväntar sig, ju större klustret är desto större är metadatafotavtrycket.

Vad gör exakt en blockserver? Kolla in följande lista:

Lagrar datablocken i serverns lokala filsystem. HDFS är tillgängligt på många olika operativsystem och fungerar inte heller på Windows, Mac OS eller Linux.

  • Lagrar metadata för ett block i det lokala filsystemet baserat på metadatamallen i NameNode.

  • Utför periodiska valideringar av filkontrollsummor.

  • Skickar vanliga rapporter till NameNode om vilka block som är tillgängliga för filoperationer.

  • Ger metadata och data till kunder på begäran. HDFS stöder direkt åtkomst till datodenoden från klientprogram.

  • Vidarebefordrar data till andra datodenoder baserat på en "pipelining" -modell.

  • Blockplacering på datodenoden är avgörande för datautplikation och stöd för datapipelining. HDFS håller en replika av varje block lokalt. HDFS är seriös om datautplikation och elasticitet.

Hadoop Distributed File System (HDFS) för Big Data Projects - 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 ...