sql >> Database >  >> NoSQL >> HBase

Hadoop - Een Apache Hadoop-zelfstudie voor beginners

Het hoofddoel van deze Hadoop De tutorial is om elk aspect van Apache Hadoop Framework te beschrijven. Kortom, deze tutorial is zo ontworpen dat het gemakkelijk zou zijn om Hadoop vanaf de basis te leren.

In dit artikel zullen we ons best doen om vragen te beantwoorden zoals wat is Big data Hadoop, wat is de behoefte van Hadoop, wat is de geschiedenis van Hadoop en tot slot voor- en nadelen van het Apache Hadoop-framework.

We hopen dat je na het lezen van dit artikel een duidelijk beeld hebt van wat een Hadoop Framework is.

Wat is Hadoop?

Het is een open source softwareraamwerk voor gedistribueerde opslag en verwerking van enorme hoeveelheden datasets. Open source betekent dat het vrij beschikbaar is en zelfs wij kunnen de broncode wijzigen volgens uw vereisten.

Het maakt het ook mogelijk om applicaties te draaien op een systeem met duizenden nodes. Het gedistribueerde bestandssysteem biedt snelle gegevensoverdrachtsnelheden tussen knooppunten. Het zorgt er ook voor dat het systeem kan blijven werken in geval van een storing in de node.

Hadoop biedt-

  • De opslaglaag - HDFS
  • Batchverwerkingsengine - MapReduce
  • Bronbeheerlaag - GAREN

Hadoop – Geschiedenis

In 2003 lanceert Google project Nutch om miljarden zoekopdrachten af ​​te handelen. Ook voor het indexeren van miljoenen webpagina's. In oktober 2003 publiceerde Google GFS (Google File System) papier, van dat papier is Hadoop afkomstig.

In 2004 brengt Google papier uit met MapReduce . En in 2005 gebruikte Nutch GFS en MapReduce om bewerkingen uit te voeren.

In 2006, computerwetenschappers Doug Cutting en Mike Cafarella  Hadoop gemaakt. In februari 2006 trad Doug Cutting toe tot Yahoo . Dit leverde middelen en het toegewijde team op om Hadoop om te zetten in een systeem dat op webschaal draaide. In 2007 begon Yahoo Hadoop te gebruiken op een cluster met 100 nodes.

In januari 2008 maakte Hadoop zijn eigen topproject bij Apache, wat het succes ervan bevestigde. Veel andere bedrijven gebruikten Hadoop naast Yahoo!, zoals de New York Times en Facebook.

In april 2008 brak Hadoop een wereldrecord om het snelste systeem te worden om een ​​terabyte aan gegevens te sorteren. Draait op een cluster met 910 nodes, sorteerde één terabyte in 209 seconden.

In december 2011 bracht Apache Hadoop versie 1.0 uit. In augustus 2013 was versie 2.0.6 beschikbaar. Later in juni 2017 is Apache Hadoop 3.0.0-alpha4 beschikbaar. ASF (Apache Software Foundation) beheert en onderhoudt Hadoop's framework en ecosysteem van technologieën.

Waarom Hadoop?

Zoals we de inleiding hebben geleerd, gaan we nu leren wat de behoefte van Hadoop is?

Het kwam naar voren als een oplossing voor de "Big Data ” problemen-

a. Opslag voor Big Data – HDFS Dit probleem is opgelost. Het slaat Big Data op gedistribueerde wijze op. HDFS slaat elk bestand ook op als blokken. Blok is de kleinste gegevenseenheid in een bestandssysteem.

Stel dat u 512 MB aan gegevens hebt. En je hebt HDFS zo geconfigureerd dat het 128 MB aan datablokken zal maken. Dus HDFS verdeelt gegevens in 4 blokken (512/128=4) en slaat het op over verschillende DataNodes. Het repliceert ook de datablokken op verschillende datanodes.

Daarom is het opslaan van big data geen uitdaging.

b. Schaalbaarheid – Het lost ook het schaalprobleem op. Het richt zich vooral op horizontale schaling in plaats van verticale schaling. U kunt indien nodig extra datanodes aan het HDFS-cluster toevoegen. In plaats van de bronnen van uw datanodes op te schalen.

Vandaar dat de prestaties drastisch worden verbeterd.

c. De verscheidenheid aan gegevens opslaan  – HDFS heeft dit probleem opgelost. HDFS kan allerlei soorten gegevens opslaan (gestructureerd, semi-gestructureerd of ongestructureerd). Het volgt ook op één keer schrijven en veel modellen lezen .

Hierdoor kun je alle soorten gegevens één keer schrijven en meerdere keren lezen om inzichten te krijgen.

d. Gegevensverwerkingssnelheid  – Dit is het grote probleem van big data. Om dit probleem op te lossen, verplaatst u de berekening naar gegevens in plaats van gegevens naar berekening. Dit principe is Gegevenslocatie .

Hadoop-kerncomponenten

Nu zullen we de kerncomponent van Apache Hadoop in detail leren. Het heeft 3 kerncomponenten-

  • HDFS
  • MapReduce
  • YARN(Nog ​​een andere resource-onderhandelaar)

Laten we deze kerncomponenten één voor één bespreken.

a. HDFS

Hadoop gedistribueerd bestandssysteem (HDFS) is het primaire opslagsysteem van Hadoop. HDFS slaat zeer grote bestanden op die worden uitgevoerd op een cluster van standaardhardware. Het volgt het principe van het opslaan van een kleiner aantal grote bestanden in plaats van het enorme aantal kleine bestanden.

Slaat gegevens betrouwbaar op, zelfs in het geval van een hardwarestoring. Het biedt high-throughput toegang tot de applicatie door parallel toegang te krijgen.

Onderdelen van HDFS:

  • NameNode – Het werkt als Master in het cluster. Namenode slaat metadata op . Een aantal blokken, replica's en andere details. Metadata is aanwezig in het geheugen in de master. NameNode onderhoudt en beheert de slave-knooppunten en wijst er taken aan toe. Het moet worden geïmplementeerd op betrouwbare hardware, aangezien het het middelpunt van HDFS is.
  • DataNode –  Het werkt als slaaf in het cluster. In HDFS is DataNode verantwoordelijk voor het opslaan van actuele gegevens in HDFS. DataNode voert lees- en schrijfbewerkingen uit volgens verzoek voor de clients. DataNodes kan ook worden ingezet op basishardware.

b. MapReduce

MapReduce is de gegevensverwerkingslaag van Hadoop. Het verwerkt grote gestructureerde en ongestructureerde gegevens die zijn opgeslagen in HDFS. MapReduce verwerkt ook een enorme hoeveelheid gegevens parallel.

Het doet dit door de taak (ingediende taak) op te delen in een reeks zelfstandige taken (subtaak). MapReduce werkt door de verwerking op te splitsen in fasen:Map en Reduce.

  • Kaart –  Het is de eerste verwerkingsfase, waarin we alle complexe logische code specificeren.
  • Verminderen – Het is de tweede fase van verwerking. Hier specificeren we lichtgewicht verwerking zoals aggregatie/sommatie.

c. GAREN

YARN zorgt voor het resourcebeheer. Het is het besturingssysteem van Hadoop. Het is verantwoordelijk voor het beheren en bewaken van de werkbelasting en het implementeren van beveiligingscontroles. Apache YARN is ook een centraal platform voor het leveren van tools voor gegevensbeheer over de clusters heen.

YARN maakt meerdere dataverwerkingsengines mogelijk, zoals realtime streaming, batchverwerking enz.

Onderdelen van YARN:

  • Bronnenbeheer -  Het is een component op clusterniveau en draait op de Master-machine. Het beheert resources en plant applicaties die bovenop YARN worden uitgevoerd. Het heeft twee componenten:Scheduler &Application Manager.
  • Knooppuntbeheer – Het is een component op knooppuntniveau. Het draait op elke slave-machine. Het communiceert continu met Resource Manager om up-to-date te blijven

Voordelen van Hadoop

Laten we nu verschillende Hadoop-voordelen bespreken om de big data-problemen op te lossen.

  • Schaalbaarheid – Door knooppunten toe te voegen, kunnen we ons systeem eenvoudig uitbreiden om meer gegevens te verwerken.
  • Flexibiliteit –   In dit kader hoeft u gegevens niet voor te verwerken voordat u ze opslaat. U kunt zoveel gegevens opslaan als u wilt en later beslissen hoe u ze wilt gebruiken.
  • Lage kosten –  Open source framework is gratis en draait op goedkope hardware.
  • Fouttolerantie –  Als knooppunten uitvallen, worden taken automatisch doorgestuurd naar andere knooppunten.
  • Rekenkracht – Het is  gedistribueerd computermodel verwerkt big data snel. Hoe meer rekenknooppunten u gebruikt, hoe meer verwerkingskracht u heeft.

Nadelen van Hadoop

Enkele nadelen van Apache Hadoop Framework worden hieronder gegeven-

  • Bezorgdheid over de veiligheid – Het kan een uitdaging zijn om de complexe applicatie te beheren. Als de gebruiker niet weet hoe hij het platform moet inschakelen dat het platform beheert, kunnen uw gegevens een enorm risico vormen. Omdat Hadoop op opslag- en netwerkniveaus codering mist, wat een belangrijk punt van zorg is.
  • Kwetsbaar van aard –  Het framework is bijna in java geschreven, de meest gebruikte taal. Java wordt zwaar uitgebuit door cybercriminelen. Als gevolg daarvan betrokken bij talloze beveiligingsinbreuken.
  • Niet geschikt voor kleine gegevens – Omdat het niet geschikt is voor kleine gegevens. Daarom mist het de mogelijkheid om het willekeurig lezen van kleine bestanden efficiënt te ondersteunen.
  • Potentiële stabiliteitsproblemen –  Omdat het een open source framework is. Dit betekent dat het is gemaakt door veel ontwikkelaars die aan het project blijven werken. Hoewel er voortdurend verbeteringen worden aangebracht, heeft het stabiliteitsproblemen. Om deze problemen te voorkomen, moeten organisaties op de nieuwste stabiele versie draaien.

Conclusie

Concluderend kunnen we stellen dat het de meest populaire en krachtige Big data-tool is. Het slaat enorme hoeveelheden gegevens op de gedistribueerde manier op.

En verwerkt de gegevens vervolgens parallel op een cluster van knooppunten. Het biedt ook 's werelds meest betrouwbare opslaglaag - HDFS. Batchverwerkingsengine MapReduce en resourcebeheerlaag - YARN.

Daarom zorgen deze daemons voor Hadoop-functionaliteit.


  1. MongoDB $first Aggregation Pipeline Operator

  2. MongoDB $exp

  3. MongoDB - Vraag naar het laatste element van een array?

  4. Veldfout in object 'doel' op veld '':afgewezen waarde []; codes [typeMismatch.target.,typeMismatch.,typeMismatch.java.util.Date,typeMismatch]