HDFS-zelfstudie: inleiding tot HDFS en zijn functies



Deze HDFS-zelfstudieblog zal u helpen het HDFS of Hadoop Distributed File System en zijn functies te begrijpen. Je zult ook kort de kerncomponenten verkennen.

HDFS-zelfstudie

Voordat ik verder ga in deze HDFS-zelfstudieblog, wil ik u enkele van de krankzinnige statistieken met betrekking tot HDFS doornemen:

  • In 2010, Facebook beweerde een van de grootste HDFS-clusteropslag te hebben 21 petabytes Van de gegevens.
  • In 2012, Facebook verklaarde dat ze het grootste enkele HDFS-cluster hebben met meer dan 100 PB Van de gegevens .
  • En Yahoo ! heeft meer dan 100.000 CPU in meer dan 40.000 servers met Hadoop, met zijn grootste Hadoop-cluster actief 4.500 knooppunten . Alles bij elkaar genomen, Yahoo! winkels 455 petabytes van gegevens in HDFS.
  • In feite begonnen de meeste grote namen in de Fortune 50 tegen 2013 Hadoop te gebruiken.

Te moeilijk te verteren? Rechtsaf. Zoals besproken in , Hadoop heeft twee fundamentele eenheden - S torage en Verwerken . Als ik het opslaggedeelte van Hadoop zeg, bedoel ik HDFS wat staat voor Hadoop gedistribueerd bestandssysteem . Dus in deze blog laat ik je kennismaken met HDFS .





Hier zal ik het hebben over:

  • Wat is HDFS?
  • Voordelen van HDFS
  • Kenmerken van HDFS

Voordat ik het over HDFS heb, wil ik u eerst vertellen: wat is een gedistribueerd bestandssysteem?



DFS of gedistribueerd bestandssysteem:

Distributed File System spreekt over beheren gegevens , d.w.z. bestanden of mappen op meerdere computers of servers. Met andere woorden, DFS is een bestandssysteem waarmee we gegevens over meerdere knooppunten of machines in een cluster kunnen opslaan en waarmee meerdere gebruikers toegang hebben tot gegevens. Dus eigenlijk heeft het hetzelfde doel als het bestandssysteem dat beschikbaar is op je computer, zoals voor Windows heb je NTFS (New Technology File System) of voor Mac heb je HFS (Hierarchical File System). Het enige verschil is dat u, in het geval van Distributed File System, gegevens op meerdere machines opslaat in plaats van op één machine. Hoewel de bestanden op het netwerk worden opgeslagen, organiseert DFS gegevens op een zodanige manier dat een gebruiker die op een machine zit, het gevoel heeft dat alle gegevens op die machine zijn opgeslagen.

Wat is HDFS?

Hadoop Distributed File System of HDFS is een op Java gebaseerd gedistribueerd bestandssysteem waarmee u grote gegevens op meerdere knooppunten in een Hadoop-cluster kunt opslaan. Dus als je Hadoop installeert, krijg je HDFS als onderliggend opslagsysteem voor het opslaan van de data in de gedistribueerde omgeving.

Laten we een voorbeeld nemen om het te begrijpen. Stel je voor dat je tien machines of tien computers hebt met een harde schijf van 1 TB op elke machine. Nu zegt HDFS dat als je Hadoop als platform bovenop deze tien machines installeert, je HDFS als opslagservice krijgt. Hadoop Distributed File System wordt op een zodanige manier gedistribueerd dat elke machine zijn individuele opslagruimte bijdraagt ​​voor het opslaan van alle soorten gegevens.



HDFS-zelfstudie: voordelen van HDFS

1. Gedistribueerde opslag:

Gedistribueerde opslag - HDFS-zelfstudie - Edureka

pass door waarde vs pass door referentie java

Wanneer u het Hadoop Distributed-bestandssysteem opent vanaf een van de tien machines in het Hadoop-cluster, voelt het alsof u bent ingelogd op een enkele grote machine met een opslagcapaciteit van 10 TB (totale opslag meer dan tien machines). Wat betekent het? Het betekent dat u één groot bestand van 10 TB kunt opslaan dat over de tien machines (elk 1 TB) wordt verdeeld.Zo is het niet beperkt tot de fysieke grenzen van elke individuele machine.

2. Gedistribueerde en parallelle berekening:

Doordat de gegevens over de machines zijn verdeeld, kunnen we er voordeel uit halen Gedistribueerde en parallelle berekening . Laten we dit concept begrijpen aan de hand van het bovenstaande voorbeeld. Stel dat het 43 minuten duurt om een ​​bestand van 1 TB op één computer te verwerken. Dus, vertel me nu eens, hoeveel tijd kost het om hetzelfde bestand van 1 TB te verwerken als je 10 machines in een Hadoop-cluster hebt met een vergelijkbare configuratie - 43 minuten of 4,3 minuten? 4,3 minuten, goed! Wat is hier gebeurd? Elk van de knooppunten werkt parallel met een deel van het 1 TB-bestand. Het werk dat daarvoor 43 minuten duurde, is nu in slechts 4,3 minuten klaar, aangezien het werk is verdeeld over tien machines.

3. Horizontale schaalbaarheid:

Als laatste, maar niet de minste, laten we het hebben over de horizontale schaalverdeling of schaalvergroting in Hadoop. Er zijn twee soorten schaalvergroting: verticaal en horizontaal . Bij verticaal schalen (opschalen) vergroot u de hardwarecapaciteit van uw systeem. Met andere woorden, u schaft meer RAM of CPU aan en voegt deze toe aan uw bestaande systeem om het robuuster en krachtiger te maken. Maar er zijn uitdagingen verbonden aan verticale schaalvergroting of schaalvergroting:

  • Er is altijd een limiet waartoe u uw hardwarecapaciteit kunt vergroten. U kunt dus niet doorgaan met het vergroten van het RAM of CPU van de machine.
  • Bij verticaal schalen stopt u eerst uw machine. Vervolgens vergroot u de RAM of CPU om er een robuustere hardwarestack van te maken. Nadat u uw hardwarecapaciteit heeft vergroot, start u de machine opnieuw op. Deze downtime wanneer u uw systeem stopt, wordt een uitdaging.

In het geval van horizontaal schalen (uitschalen) , voegt u meer knooppunten toe aan een bestaand cluster in plaats van de hardwarecapaciteit van individuele machines te vergroten. En het allerbelangrijkste: u kunt voeg onderweg meer machines toe d.w.z. zonder het systeem te stoppen . Daarom hebben we bij het opschalen geen downtime of groene zone, niets van dien aard. Aan het eind van de dag zullen er meer machines parallel werken om aan uw eisen te voldoen.

HDFS-zelfstudievideo:

Je kunt de onderstaande video bekijken waar alle concepten met betrekking tot HDFS in detail zijn besproken:

java wat is een scanner

HDFS-zelfstudie: Kenmerken van HDFS

We zullen deze functies in detail begrijpen wanneer we de HDFS-architectuur gaan verkennen in onze volgende HDFS-tutorialblog. Maar laten we voorlopig een overzicht hebben van de functies van HDFS:

  • Kosten: De HDFS wordt over het algemeen ingezet op standaardhardware zoals uw desktop / laptop die u elke dag gebruikt. Het is dus erg economisch in termen van de eigendomskosten van het project. Omdat we goedkope standaardhardware gebruiken, hoeft u niet veel geld uit te geven voor het opschalen van uw Hadoop-cluster. Met andere woorden, het is kostenbesparend om meer knooppunten aan uw HDFS toe te voegen.
  • Verscheidenheid en hoeveelheid gegevens: Als we het hebben over HDFS, hebben we het over het opslaan van enorme gegevens, d.w.z. terabytes en petabytes aan gegevens en verschillende soorten gegevens. U kunt dus elk type gegevens in HDFS opslaan, of het nu gestructureerd, ongestructureerd of semi-gestructureerd is.
  • Betrouwbaarheid en fouttolerantie: Wanneer u gegevens op HDFS opslaat, verdeelt het de gegeven gegevens intern in datablokken en slaat deze op een gedistribueerde manier op over uw Hadoop-cluster. De informatie over welk datablok zich op welke van de dataknooppunten bevindt, wordt vastgelegd in de metadata. NameNode beheert de metadata en de DataNodes zijn verantwoordelijk voor het opslaan van de gegevens.
    Naamknooppunt repliceert ook de gegevens, d.w.z. bewaart meerdere kopieën van de gegevens. Deze replicatie van de gegevens maakt HDFS zeer betrouwbaar en fouttolerant. Dus zelfs als een van de knooppunten faalt, kunnen we de gegevens ophalen van de replica's die zich op andere gegevensknooppunten bevinden. Standaard is de replicatiefactor 3. Als u dus 1 GB aan bestand opslaat in HDFS, neemt het uiteindelijk 3 GB aan ruimte in beslag. Het naamknooppunt werkt de metagegevens periodiek bij en zorgt ervoor dat de replicatiefactor consistent blijft.
  • Data-integriteit: Data Integrity heeft het over of de gegevens die zijn opgeslagen in mijn HDFS correct zijn of niet. HDFS controleert voortdurend de integriteit van de opgeslagen gegevens aan de hand van de checksum. Als het een fout vindt, rapporteert het erover aan het naamknooppunt. Vervolgens maakt het naamknooppunt extra nieuwe replica's aan en verwijdert daarom de beschadigde kopieën.
  • Hoge doorvoer: Doorvoer is de hoeveelheid werk die in een tijdseenheid wordt gedaan. Het vertelt hoe snel u toegang kunt krijgen tot de gegevens uit het bestandssysteem. Kortom, het geeft u inzicht in de systeemprestaties. Zoals je hebt gezien in het bovenstaande voorbeeld, hebben we tien machines gezamenlijk gebruikt om de berekening te verbeteren. Daar konden we de doorlooptijd van verminderen 43 minuten tot slechts 4,3 minuten aangezien alle machines parallel werkten. Daarom hebben we door gegevens parallel te verwerken de verwerkingstijd enorm verkort en zo een hoge doorvoer bereikt.
  • Gegevenslocatie: Datalocatie heeft het over het verplaatsen van de verwerkingseenheid naar gegevens in plaats van de gegevens naar de verwerkingseenheid. In ons traditionele systeem brachten we de gegevens naar de applicatielaag om deze vervolgens te verwerken. Maar nu, vanwege de architectuur en het enorme volume van de gegevens, zullen de gegevens naar de applicatielaag worden gebrachtverminder de netwerkprestaties merkbaar.Dus in HDFS brengen we het rekengedeelte naar de gegevensknooppunten waar de gegevens zich bevinden. Daarom verplaats je de gegevens niet, je brengt het programma of proces meeing deel aan de data.

Dus nu heb je een kort idee over HDFS en zijn functies. Maar geloof me jongens, dit is slechts het topje van de ijsberg. In mijn volgende , Zal ik diep in de HDFS-architectuur en ik zal de geheimen achter het succes van HDFS onthullen. Samen beantwoorden we al die vragen die je in je hoofd opdoet, zoals:

  • Wat gebeurt er achter de schermen als u gegevens leest of schrijft in Hadoop Distributed File System?
  • Wat zijn de algoritmen zoals rack-bewustzijn die HDFS zo fouttolerant maken?
  • Hoe beheert en maakt Hadoop Distributed File System een ​​replica?
  • Wat zijn blokbewerkingen?

Nu je HDFS en zijn functies hebt begrepen, kun je het door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. De Edureka Big Data Hadoop-certificeringstraining helpt leerlingen expert te worden in HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume en Sqoop met behulp van real-time use cases op het gebied van Retail, Social Media, Aviation, Tourism, Finance.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte en we nemen contact met u op.