Hvad er Hadoop? Introduktion, Architecture, økosystem, komponenter

Hvad er Hadoop?

Apache Hadoop er en open source-softwareramme, der bruges til at udvikle databehandlingsapplikationer, som udføres i et distribueret computermiljø.

Applikationer bygget ved hjælp af HADOOP køres på store datasæt fordelt på tværs af klynger af råvarecomputere. Commodity computere er billige og bredt tilgængelige. Disse er hovedsageligt nyttige til at opnå større beregningskraft til lave omkostninger.

I lighed med data, der findes i et lokalt filsystem i et personligt computersystem, ligger data i Hadoop i et distribueret filsystem, der kaldes som en Hadoop distribueret filsystem. Bearbejdningsmodellen er baseret på 'Datalokalitet' koncept, hvor beregningslogik sendes til klynge noder (server), der indeholder data. Denne beregningslogik er ingenting, men en kompileret version af et program skrevet på et højt niveau sprog som f.eks. Java. Et sådant program behandler data gemt i Hadoop HDFS.

Kender du? Computerklynge består af et sæt af flere behandlingsenheder (lagerdisk + processor), som er forbundet med hinanden og fungerer som et enkelt system.

Hadoop økosystem og komponenter

Nedenstående diagram viser forskellige komponenter i Hadoop-økosystemet-

Hadoop økosystem og komponenter

Apache Hadoop består af to delprojekter –

  1. Hadoop MapReduce: MapReduce er en beregningsmodel og softwareramme til at skrive applikationer, der køres på Hadoop. Disse MapReduce-programmer er i stand til at behandle enorme data parallelt på store klynger af beregningsknuder.
  2. HDFS (Hadoop distribueret filsystem): HDFS tager sig af lagringsdelen af ​​Hadoop-applikationer. MapReduce-applikationer bruger data fra HDFS. HDFS opretter flere replikaer af datablokke og distribuerer dem på computerknudepunkter i en klynge. Denne fordeling muliggør pålidelige og ekstremt hurtige beregninger.

Selvom Hadoop er bedst kendt for MapReduce og dets distribuerede filsystem-HDFS, bruges udtrykket også om en familie af relaterede projekter, der falder ind under paraplyen af ​​distribueret databehandling og storskala databehandling. Andre Hadoop-relaterede projekter på Apache omfatter er Hive, HBase, Mahout, Sqoop, Flume og ZooKeeper.

Hadoop Architecture

Hadoop Architecture
Hadoop på højt niveau Architecture

Hadoop har en Master-Slave Architecture til datalagring og distribueret databehandling vha KortReducer og HDFS-metoder.

NavnNode:

NameNode repræsenterede alle filer og mapper, der bruges i navnerummet

DataNode:

DataNode hjælper dig med at styre tilstanden af ​​en HDFS-knude og giver dig mulighed for at interagere med blokkene

MasterNode:

Masternoden giver dig mulighed for at udføre parallel behandling af data ved hjælp af Hadoop MapReduce.

Slaveknude:

Slaveknuderne er de ekstra maskiner i Hadoop-klyngen, som giver dig mulighed for at gemme data for at udføre komplekse beregninger. Desuden kommer alle slaveknudepunkter med Task Tracker og en DataNode. Dette giver dig mulighed for at synkronisere processerne med henholdsvis NameNode og Job Tracker.

I Hadoop kan master- eller slavesystem konfigureres i skyen eller on-premise

Funktioner af 'Hadoop'

• Velegnet til Big Data Analyse

Da Big Data har en tendens til at være distribueret og ustruktureret i naturen, er HADOOP-klynger bedst egnede til analyse af Big Data. Da det er behandlingslogik (ikke de faktiske data), der flyder til computerknudepunkterne, forbruges mindre netværksbåndbredde. Dette koncept kaldes som datalokalitetskoncept som hjælper med at øge effektiviteten af ​​Hadoop-baserede applikationer.

• Skalerbarhed

HADOOP-klynger kan nemt skaleres i ethvert omfang ved at tilføje yderligere klyngeknuder og giver dermed mulighed for vækst af Big Data. Skalering kræver heller ikke ændringer af applikationslogikken.

• Fejltolerance

HADOOP-økosystemet har en bestemmelse til at replikere inputdataene til andre klynge noder. På den måde, i tilfælde af en cluster node fejl, kan databehandling stadig fortsætte ved at bruge data gemt på en anden cluster node.

Netværkstopologi i Hadoop

Topologi (arrangement) af netværket, påvirker Hadoop-klyngens ydeevne, når størrelsen af ​​Hadoop-klyngen vokser. Udover ydeevnen skal man også bekymre sig om den høje tilgængelighed og håndtering af fejl. For at opnå denne Hadoop gør klyngedannelse brug af netværkstopologi.

Netværkstopologi i Hadoop

Typisk er netværksbåndbredde en vigtig faktor at overveje, når du danner ethvert netværk. Men da det kan være vanskeligt at måle båndbredde, er et netværk i Hadoop repræsenteret som et træ, og afstanden mellem noder i dette træ (antal hop) betragtes som en vigtig faktor i dannelsen af ​​Hadoop-klynge. Her er afstanden mellem to noder lig med summen af ​​deres afstand til deres nærmeste fælles forfader.

Hadoop-klyngen består af et datacenter, racket og den node, som rent faktisk udfører job. Her består datacenter af racks og rack består af noder. Netværksbåndbredde, der er tilgængelig for processer, varierer afhængigt af placeringen af ​​processerne. Det vil sige, at den tilgængelige båndbredde bliver mindre, når vi går væk fra-

  • Processer på samme knude
  • Forskellige noder på samme stativ
  • Noder på forskellige racks i det samme datacenter
  • Noder i forskellige datacentre