HDFS Tutorial: Introduktion til HDFS og dens funktioner



Denne HDFS-selvstudieblog hjælper dig med at forstå HDFS eller Hadoop Distribueret filsystem og dets funktioner. Du vil også kort udforske dets kernekomponenter.

HDFS vejledning

Før jeg går videre i denne HDFS-tutorial-blog, lad mig tage dig gennem nogle af de vanvittige statistikker relateret til HDFS:

  • I 2010 Facebook hævdede at have en af ​​de største HDFS-klyngelagre 21 petabyte af data.
  • I 2012 Facebook erklærede, at de har den største enkelt HDFS-klynge med mere end 100 PB af data .
  • Og Yahoo ! har mere end 100.000 CPU i over 40.000 servere kører Hadoop, hvor den største Hadoop-klynge kører 4.500 noder . Alt sagt, Yahoo! butikker 455 petabyte af data i HDFS.
  • Faktisk begyndte de fleste af de store navne i Fortune 50 i 2013 at bruge Hadoop i 2013.

For svært at fordøje? Ret. Som diskuteret i , Hadoop har to grundlæggende enheder - S drejning og Forarbejdning . Når jeg siger opbevaringsdel af Hadoop, henviser jeg til HDFS som står for Hadoop distribueret filsystem . Så i denne blog vil jeg introducere dig til HDFS .





Her vil jeg tale om:

  • Hvad er HDFS?
  • Fordele ved HDFS
  • Funktioner i HDFS

Før jeg taler om HDFS, lad mig fortælle dig, hvad er et distribueret filsystem?



DFS eller distribueret filsystem:

Distribueret filsystem taler om administrere data , dvs. filer eller mapper på tværs af flere computere eller servere. Med andre ord er DFS et filsystem, der giver os mulighed for at gemme data over flere noder eller maskiner i en klynge og giver flere brugere adgang til data. Så dybest set tjener det samme formål som det filsystem, der er tilgængeligt på din maskine, som for windows har du NTFS (New Technology File System) eller for Mac har du HFS (Hierarchical File System). Den eneste forskel er, at du i tilfælde af distribueret filsystem gemmer data på flere maskiner i stedet for en enkelt maskine. Selvom filerne er gemt over hele netværket, organiserer DFS og viser data på en sådan måde, at en bruger, der sidder på en maskine, vil føle, at alle data er gemt i netop den maskine.

mvc-arkitektur i java med eksempel

Hvad er HDFS?

Hadoop Distribueret filsystem eller HDFS er et Java-baseret distribueret filsystem, der giver dig mulighed for at gemme store data på tværs af flere noder i en Hadoop-klynge. Så hvis du installerer Hadoop, får du HDFS som et underliggende lagersystem til lagring af data i det distribuerede miljø.

Lad os tage et eksempel for at forstå det. Forestil dig, at du har ti maskiner eller ti computere med en harddisk på 1 TB på hver maskine. Nu siger HDFS, at hvis du installerer Hadoop som en platform oven på disse ti maskiner, får du HDFS som en opbevaringstjeneste. Hadoop Distribueret filsystem distribueres på en sådan måde, at hver maskine bidrager med deres individuelle lager til lagring af enhver form for data.



HDFS Tutorial: Fordele ved HDFS

1. Distribueret opbevaring:

Distribueret lager - HDFS-vejledning - Edureka

Når du får adgang til Hadoop Distribueret filsystem fra en af ​​de ti maskiner i Hadoop-klyngen, vil du føle, at du er logget ind på en enkelt stor maskine, der har en lagerkapacitet på 10 TB (samlet lagerplads over ti maskiner). Hvad betyder det? Det betyder, at du kan gemme en enkelt stor fil på 10 TB, som distribueres over de ti maskiner (1 TB hver).Sådan er det ikke begrænset til de fysiske grænser af hver enkelt maskine.

2. Distribueret og parallel beregning:

Fordi data er opdelt på maskinerne, giver det os mulighed for at drage fordel af Distribueret og parallel beregning . Lad os forstå dette koncept ved ovenstående eksempel. Antag, det tager 43 minutter at behandle 1 TB-fil på en enkelt maskine. Så fortæl mig nu, hvor lang tid tager det at behandle den samme 1 TB-fil, når du har 10 maskiner i en Hadoop-klynge med lignende konfiguration - 43 minutter eller 4,3 minutter? 4,3 minutter, højre! Hvad skete der her? Hver af knudepunkterne arbejder parallelt med en del af 1 TB-filen. Derfor bliver arbejdet, der tog 43 minutter før, færdig på bare 4,3 minutter nu, da arbejdet blev fordelt på ti maskiner.

3. Horisontal skalerbarhed:

Sidst men ikke mindst, lad os tale om vandret skalering eller skalering ud i Hadoop. Der er to typer skalering: lodret og vandret . Ved lodret skalering (skalering op) øger du dit systems hardwarekapacitet. Med andre ord skaffer du mere RAM eller CPU og føjer det til dit eksisterende system for at gøre det mere robust og kraftfuldt. Men der er udfordringer forbundet med vertikal skalering eller opskalering:

  • Der er altid en grænse, som du kan øge din hardwarekapacitet på. Så du kan ikke fortsætte med at øge maskinens RAM eller CPU.
  • Ved lodret skalering stopper du først din maskine. Derefter øger du RAM eller CPU for at gøre det til en mere robust hardwarestak. Når du har øget din hardwarekapacitet, genstarter du maskinen. Denne nedetid, når du stopper dit system, bliver en udfordring.

I tilfælde af vandret skalering (skaler ud) , du tilføjer flere noder til eksisterende klynge i stedet for at øge hardwarekapaciteten på individuelle maskiner. Og vigtigst af alt kan du tilføj flere maskiner på farten dvs. uden at stoppe systemet . Derfor, mens vi skalerer ud, har vi ikke nogen nedetid eller grøn zone, intet af den slags. I slutningen af ​​dagen vil du have flere maskiner, der arbejder parallelt for at imødekomme dine krav.

HDFS instruktionsvideo:

Du kan tjekke videoen nedenfor, hvor alle begreber relateret til HDFS er blevet diskuteret i detaljer:

hvordan man konverterer dobbelt til int i java

HDFS vejledning: Funktioner i HDFS

Vi vil forstå disse funktioner i detaljer, når vi vil udforske HDFS-arkitekturen i vores næste HDFS-tutorial-blog. Men nu skal vi have et overblik over funktionerne i HDFS:

  • Koste: HDFS er generelt implementeret på en råvarehardware som din stationære / bærbare computer, som du bruger hver dag. Så det er meget økonomisk med hensyn til omkostningerne ved ejerskab af projektet. Da vi bruger hardware til billig pris, behøver du ikke bruge enorme beløb på at skalere din Hadoop-klynge ud. Med andre ord er det omkostningseffektivt at tilføje flere noder til din HDFS.
  • Variation og volumen af ​​data: Når vi taler om HDFS, så taler vi om lagring af enorme data, dvs. Terabyte & petabyte data og forskellige slags data. Så du kan gemme enhver form for data i HDFS, det være sig struktureret, ustruktureret eller semi-struktureret.
  • Pålidelighed og fejltolerance: Når du gemmer data på HDFS, deler den de givne data internt i datablokke og gemmer dem på en distribueret måde på tværs af din Hadoop-klynge. Oplysningerne om, hvilken datablok der er placeret på hvilken af ​​datanoderne, der registreres i metadataene. NameNode administrerer metadataene og DataNodes er ansvarlige for lagring af data.
    Navneknude replikerer også data, dvs. opretholder flere kopier af dataene. Denne replikering af dataene gør HDFS meget pålidelig og fejltolerant. Så selvom nogen af ​​noderne fejler, kan vi hente dataene fra de replikaer, der findes på andre datanoder. Som standard er replikationsfaktoren 3. Hvis du gemmer 1 GB fil i HDFS, optager den endelig 3 GB plads. Navneknuden opdaterer regelmæssigt metadataene og opretholder replikationsfaktoren konsistent.
  • Dataintegritet: Dataintegritet taler om, hvorvidt de data, der er gemt i min HDFS, er korrekte eller ej. HDFS kontrollerer konstant integriteten af ​​data, der er gemt i forhold til kontrolsummen. Hvis den finder nogen fejl, rapporterer den til navnetoden om den. Derefter opretter navneknudepunktet yderligere nye replikaer og sletter derfor de beskadigede kopier.
  • Høj gennemstrømning: Gennemstrømning er mængden af ​​arbejde, der udføres i en enhedstid. Det taler om, hvor hurtigt du kan få adgang til dataene fra filsystemet. Dybest set giver det dig et indblik i systemets ydeevne. Som du har set i ovenstående eksempel, hvor vi brugte ti maskiner samlet for at forbedre beregningen. Der var vi i stand til at reducere behandlingstiden fra 43 minutter til en ren 4,3 minutter da alle maskinerne arbejdede parallelt. Derfor reducerede vi behandlingstiden enormt ved at behandle data parallelt og opnåede dermed høj kapacitet.
  • Datalokalitet: Datalokalitet taler om at flytte behandlingsenhed til data i stedet for data til behandlingsenhed. I vores traditionelle system brugte vi dataene til applikationslaget og derefter behandlede det. Men nu, på grund af arkitekturen og det enorme volumen af ​​dataene, vil det bringe det til applikationslagetreducere netværksydelsen i et mærkbart omfang.Så i HDFS bringer vi beregningsdelen til datanoderne, hvor dataene opholder sig. Derfor flytter du ikke dataene, du bringer programmet eller processendel af dataene.

Så nu har du en kort idé om HDFS og dens funktioner. Men tro mig gutter, dette er bare toppen af ​​isbjerget. I min næste , Jeg dykker dybt ned i HDFS-arkitektur og jeg vil afsløre hemmelighederne bag succesen med HDFS. Sammen vil vi besvare alle de spørgsmål, der overvejer i dit hoved, såsom:

  • Hvad sker der bag kulisserne, når du læser eller skriver data i Hadoop Distributed File System?
  • Hvad er algoritmerne som rackbevidsthed, der gør HDFS så fejltolerant?
  • Hvordan administrerer og opretter Hadoop Distributed File System replika?
  • Hvad er blokoperationer?

Nu hvor du har forstået HDFS og dens funktioner, skal du tjekke af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Edureka Big Data Hadoop-certificeringskursus hjælper elever med at blive eksperter i HDFS, Garn, MapReduce, Pig, Hive, HBase, Oozie, Flume og Sqoop ved hjælp af realtidsbrugssager på Retail, Social Media, Aviation, Tourism, Finance domæne.

Har du et spørgsmål til os? Nævn det i kommentarfeltet, så vender vi tilbage til dig.