sql >> Database teknologi >  >> NoSQL >> HBase

Hadoop – En Apache Hadoop-tutorials for begyndere

Hovedmålet med denne Hadoop Tutorial er at beskrive hvert eneste aspekt af Apache Hadoop Framework. Grundlæggende er denne vejledning designet på en måde, så det ville være nemt at lære Hadoop fra det grundlæggende.

I denne artikel vil vi gøre vores bedste for at besvare spørgsmål som hvad er Big data Hadoop, Hvad er behovet for Hadoop, hvad er historien om Hadoop, og endelig fordele og ulemper ved Apache Hadoop framework.

Vores håb er, at efter at have læst denne artikel, vil du have en klar forståelse af, hvad der er et Hadoop Framework.

Hvad er Hadoop?

Det er en open source-softwareramme til distribueret lagring og behandling af enorme mængder datasæt. Open source betyder, at den er frit tilgængelig, og selv vi kan ændre dens kildekode i henhold til dine krav.

Det gør det også muligt at køre applikationer på et system med tusindvis af noder. Dets distribuerede filsystem har mulighed for hurtige dataoverførselshastigheder mellem noder. Det giver også systemet mulighed for at fortsætte driften i tilfælde af knudefejl.

Hadoop giver-

  • Lagringslaget – HDFS
  • Batchbehandlingsmotor – MapReduce
  • Ressourcestyringslag – GARN

Hadoop – Historie

I 2003 lancerede Google projektet Nutch at håndtere milliarder af søgninger. Også til indeksering af millioner af websider. I oktober 2003 offentliggjorde Google GFS (Google File System) papir, fra det papir, Hadoop stammer fra.

I 2004 udgav Google papir med MapReduce . Og i 2005 brugte Nutch GFS og MapReduce til at udføre operationer.

I 2006, dataloger Doug Cutting og Mike Cafarella  skabte Hadoop. I februar 2006 sluttede Doug Cutting sig til Yahoo . Dette gav ressourcer og det dedikerede team til at forvandle Hadoop til et system, der kørte på web-skala. I 2007 begyndte Yahoo at bruge Hadoop på en klynge med 100 noder.

I januar 2008 lavede Hadoop sit eget topniveau-projekt på Apache, hvilket bekræftede dets succes. Mange andre virksomheder brugte Hadoop udover Yahoo!, såsom New York Times og Facebook.

I april 2008 slog Hadoop en verdensrekord for at blive det hurtigste system til at sortere en terabyte data. Kører på en 910-node klynge, sorteret en terabyte på 209 sekunder.

I december 2011 udgav Apache Hadoop version 1.0. I august 2013 var version 2.0.6 tilgængelig. Senere i juni 2017 er Apache Hadoop 3.0.0-alpha4 tilgængelig. ASF (Apache Software Foundation) administrerer og vedligeholder Hadoops rammer og økosystem af teknologier.

Hvorfor Hadoop?

Efterhånden som vi har lært introduktionen, skal vi nu lære, hvad der er behov for Hadoop?

Det dukkede op som en løsning på "Big Data ” problemer-

a. Opbevaring til Big Data – HDFS løste dette problem. Det gemmer Big Data på distribueret måde. HDFS gemmer også hver fil som blokke. Blok er den mindste enhed af data i et filsystem.

Antag, at du har 512 MB data. Og du har konfigureret HDFS, så den vil skabe 128 Mb datablokke. Så HDFS opdeler data i 4 blokke (512/128=4) og gemmer det på tværs af forskellige DataNodes. Det replikerer også datablokkene på forskellige datanoder.

Derfor er lagring af big data ikke en udfordring.

b. Skalerbarhed – Det løser også skaleringsproblemet. Den fokuserer hovedsageligt på horisontal skalering frem for vertikal skalering. Du kan tilføje ekstra datanoder til HDFS-klyngen efter behov. I stedet for at opskalere dine dataanoders ressourcer.

Derved forbedres ydeevnen dramatisk.

c. Lagring af forskellige data  – HDFS løste dette problem. HDFS kan gemme alle slags data (struktureret, semi-struktureret eller ustruktureret). Det følger også skriv én gang og læs mange modeller .

På grund af dette kan du skrive enhver form for data én gang, og du kan læse dem flere gange for at finde indsigt.

d. Databehandlingshastighed  – Dette er det største problem med big data. For at løse dette problem skal du flytte beregning til data i stedet for data til beregning. Dette princip er Datalokalitet .

Hadoop-kernekomponenter

Nu vil vi lære Apache Hadoop-kernekomponenten i detaljer. Den har 3 kernekomponenter-

  • HDFS
  • MapReduce
  • GARN(Yet Another Resource Negotiator)

Lad os diskutere disse kernekomponenter én efter én.

a. HDFS

Hadoop distribueret filsystem (HDFS) er Hadoops primære lagersystem. HDFS gemmer meget store filer, der kører på en klynge af råvarehardware. Det følger princippet om at gemme et mindre antal store filer i stedet for det store antal små filer.

Gemmer data pålideligt, selv i tilfælde af hardwarefejl. Det giver adgang til applikationen med høj gennemstrømning ved parallel adgang.

Komponenter af HDFS:

  • NameNode – Det fungerer som Master i klyngen. Namenode gemmer metadata . En række blokke, replikaer og andre detaljer. Metadata er til stede i hukommelsen i masteren. NameNode vedligeholder og administrerer også slaveknuderne og tildeler opgaver til dem. Det bør implementeres på pålidelig hardware, da det er midtpunktet i HDFS.
  • DataNode –  Det fungerer som slave i klyngen. I HDFS er DataNode ansvarlig for at opbevare faktiske data i HDFS. DataNode udfører læse- og skriveoperationer efter anmodning til klienterne. DataNodes kan også implementeres på råvarehardware.

b. MapReduce

MapReduce er databehandlingslaget i Hadoop. Den behandler store strukturerede og ustrukturerede data gemt i HDFS. MapReduce behandler også en enorm mængde data parallelt.

Det gør den ved at opdele jobbet (indsendt job) i et sæt selvstændige opgaver (underjob). MapReduce fungerer ved at opdele behandlingen i faser:Kort og Reducer.

  • Kort –  Det er den første fase af behandlingen, hvor vi specificerer al den komplekse logiske kode.
  • Reducer – Det er anden fase af behandlingen. Her specificerer vi letvægtsbehandling som aggregering/summation.

c. GARN

YARN sørger for ressourcestyringen. Det er Hadoops styresystem. Det er ansvarligt for styring og overvågning af arbejdsbelastninger, og implementerer også sikkerhedskontroller. Apache YARN er også en central platform til at levere datastyringsværktøjer på tværs af klyngerne.

YARN tillader flere databehandlingsmotorer såsom streaming i realtid, batchbehandling osv.

Komponenter af GARN:

  • Ressourcemanager –  Det er en komponent på klyngeniveau og kører på Master-maskinen. Den administrerer ressourcer og planlægger applikationer, der kører på toppen af ​​YARN. Den har to komponenter:Scheduler &Application Manager.
  • Node Manager – Det er en komponent på nodeniveau. Den kører på hver slavemaskine. Den kommunikerer løbende med Resource Manager for at forblive opdateret

Fordele ved Hadoop

Lad os nu diskutere forskellige Hadoop-fordele for at løse big data-problemerne.

  • Skalerbarhed – Ved at tilføje noder kan vi nemt udvide vores system til at håndtere flere data.
  • Fleksibilitet –   I denne ramme behøver du ikke at forbehandle data, før du gemmer dem. Du kan gemme så mange data, du vil, og beslutte, hvordan du bruger det senere.
  • Lavpris –  Open source framework er gratis og kører på billig råvarehardware.
  • Fejltolerance –  Hvis noder går ned, omdirigeres job automatisk til andre noder.
  • Computerkraft – Det er  distribueret computermodel behandler big data hurtigt. Jo flere computernoder du bruger mere processorkraft har du.

Ulemper ved Hadoop

Nogle ulemper ved Apache Hadoop Framework er angivet nedenfor-

  • Sikkerhedsproblemer – Det kan være udfordrende at administrere den komplekse applikation. Hvis brugeren ikke ved, hvordan man aktiverer platformen, der administrerer platformen, kan dine data udgøre en enorm risiko. Da lager- og netværksniveauer Hadoop mangler kryptering, hvilket er et stort problem.
  • Sårbar af natur –  Rammen er skrevet næsten i java, det mest udbredte sprog. Java er stærkt udnyttet af cyberkriminelle. Som et resultat impliceret i adskillige sikkerhedsbrud.
  • Ikke egnet til små data – Da det ikke er egnet til små data. Derfor mangler den evnen til effektivt at understøtte tilfældig læsning af små filer.
  • Potentielle stabilitetsproblemer –  Da det er en open source-ramme. Det betyder, at det er skabt af mange udviklere, som fortsætter med at arbejde på projektet. Mens der konstant foretages forbedringer, har den stabilitetsproblemer. For at undgå disse problemer bør organisationer køre på den seneste stabile version.

Konklusion

Afslutningsvis kan vi sige, at det er det mest populære og kraftfulde Big data-værktøj. Det gemmer enorme mængder data på den distribuerede måde.

Og behandler derefter dataene parallelt på en klynge af noder. Det giver også verdens mest pålidelige lagerlag - HDFS. Batchbehandlingsmotor MapReduce og ressourcestyringslag- YARN.

Derfor sikrer disse dæmoner Hadoop-funktionalitet.


  1. Sammenkædning og oprettelse af MongoDB-forbindelser ved hjælp af SQL:Del 3

  2. Hvordan returneres Redis primaryKey via ARM-skabelonoutput?

  3. Opret et ISO-datoobjekt i javascript

  4. mongoDB/mongoose:unik, hvis ikke null