Hva er Hadoop?
Apache Hadoop er et open source programvarerammeverk som brukes til å utvikle databehandlingsapplikasjoner som kjøres i et distribuert databehandlingsmiljø.
Applikasjoner bygget med HADOOP kjøres på store datasett fordelt på klynger av råvaredatamaskiner. Varedatamaskiner er billige og allment tilgjengelige. Disse er hovedsakelig nyttige for å oppnå større beregningskraft til lave kostnader.
I likhet med data som ligger i et lokalt filsystem i et personlig datasystem, i Hadoop, ligger data i et distribuert filsystem som kalles som et Hadoop Distribuert filsystem . Behandlingsmodellen er basert på "Data Locality" -konseptet der beregningslogikk blir sendt til klyngenoder (server) som inneholder data. Denne beregningslogikken er ingenting, men en samlet versjon av et program skrevet på et høyt nivå språk som Java. Et slikt program behandler data som er lagret i Hadoop HDFS.
Vet du? Dataklyngen består av et sett med flere prosesseringsenheter (lagringsdisk + prosessor) som er koblet til hverandre og fungerer som et enkelt system.
I denne veiledningen vil du lære,
- Hadoop EcoSystem og komponenter
- Hadoop Arkitektur
- Funksjoner av 'Hadoop'
- Nettverkstopologi i Hadoop
Hadoop EcoSystem og komponenter
Diagrammet nedenfor viser ulike komponenter i Hadoop-økosystemet-
Apache Hadoop består av to delprosjekter -
- Hadoop MapReduce: MapReduce er en beregningsmodell og programvareramme for å skrive applikasjoner som kjøres på Hadoop. Disse MapReduce-programmene er i stand til å behandle enorme data parallelt på store klynger av beregningsknuter.
- HDFS ( Hadoop Distributed File System ): HDFS tar seg av lagringsdelen av Hadoop-applikasjoner. MapReduce-applikasjoner bruker data fra HDFS. HDFS oppretter flere kopier av datablokker og distribuerer dem på beregningsnoder i en klynge. Denne fordelingen muliggjør pålitelige og ekstremt raske beregninger.
Selv om Hadoop er best kjent for MapReduce og dets distribuerte filsystem - HDFS, brukes begrepet også om en familie av relaterte prosjekter som faller inn under paraplyen for distribuert databehandling og databehandling i stor skala. Andre Hadoop-relaterte prosjekter på Apache inkluderer Hive, HBase, Mahout, Sqoop, Flume og ZooKeeper.
Hadoop Arkitektur
Hadoop har en Master-Slave-arkitektur for datalagring og distribuert databehandling ved hjelp av MapReduce- og HDFS-metoder.
NavnNode:
NameNode representerte alle filer og kataloger som brukes i navneområdet
DataNode:
DataNode hjelper deg med å administrere tilstanden til en HDFS-node og lar deg samhandle med blokkene
MasterNode:
Hovednoden lar deg utføre parallell behandling av data ved hjelp av Hadoop MapReduce.
Slave node:
Slave-nodene er tilleggsmaskinene i Hadoop-klyngen som lar deg lagre data for å utføre komplekse beregninger. Videre kommer hele slaveknuten med Task Tracker og en DataNode. Dette lar deg synkronisere prosessene med henholdsvis NameNode og Job Tracker.
I Hadoop kan master- eller slave-system settes opp i skyen eller på stedet
Funksjoner av 'Hadoop'
• Egnet for Big Data-analyse
Ettersom Big Data har en tendens til å være distribuert og ustrukturert i naturen, er HADOOP-klynger best egnet for analyse av Big Data. Siden det er behandlingslogikk (ikke de faktiske dataene) som flyter til databehandlingsnodene, forbrukes mindre nettverksbåndbredde. Dette konseptet kalles som datalokalitetskonsept som bidrar til å øke effektiviteten til Hadoop-baserte applikasjoner.
• Skalerbarhet
HADOOP-klynger kan enkelt skaleres i noen grad ved å legge til flere klyngenoder og dermed tillate vekst av Big Data. Skalering krever heller ikke endringer i applikasjonslogikken.
• Feiltoleranse
HADOOP-økosystemet har en bestemmelse for å replikere inngangsdataene til andre klyngenoder. På den måten, i tilfelle feil i klyngenoden, kan databehandling fremdeles fortsette ved å bruke data som er lagret på en annen klyngenode.
Nettverkstopologi i Hadoop
Topologi (Arrangement) av nettverket, påvirker ytelsen til Hadoop-klyngen når størrelsen på Hadoop-klyngen vokser. I tillegg til ytelsen, må man også bry seg om den høye tilgjengeligheten og håndteringen av feil. For å oppnå denne Hadoop bruker klyngedannelse nettverkstopologi.
Vanligvis er nettverksbåndbredde en viktig faktor å vurdere når du danner et hvilket som helst nettverk. Imidlertid, da måling av båndbredde kan være vanskelig, i Hadoop, er et nettverk representert som et tre, og avstand mellom noder i dette treet (antall humle) blir ansett som en viktig faktor i dannelsen av Hadoop-klynge. Her er avstanden mellom to noder lik summen av avstanden til deres nærmeste felles forfader.
Hadoop-klyngen består av et datasenter, stativet og noden som faktisk utfører jobber. Her består datasenteret av stativer og stativet består av noder. Nettverksbåndbredde som er tilgjengelig for prosesser, varierer avhengig av hvor prosessene ligger. Det vil si at den tilgjengelige båndbredden blir mindre når vi går vekk fra-
- Prosesser på samme node
- Ulike noder på samme stativ
- Noder på forskjellige stativer i samme datasenter
- Noder i forskjellige datasentre