Hvad er Hadoop? Introduktion, Archilære, Ecossystem, 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 clusters 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, hvori beregningslogik sendes til cluster noder(server), der indeholder data. Denne beregningslogik er intet, men en kompileret version af et program skrevet på et højt niveau sprog såsom Java. Et sådant program behandler data gemt i Hadoop HDFS.

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

Hadoop EcoSsystem og komponenter

Nedenstående diagram viser forskellige komponenter i Hadoop ecossystem-

Hadoop EcoSsystem 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 clusters 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å compute noder i en cluster. 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 cluster som giver dig mulighed for at gemme data for at udføre complex beregninger. Desuden kommer alle slaveknudepunkter med Task Tracker og en DataNode. Dette giver dig mulighed for synchroniser 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, har HADOOP clusters er bedst egnet 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 clusters kan nemt skaleres til ethvert omfang ved at tilføje yderligere cluster noder og giver dermed mulighed for vækst af Big Data. Skalering kræver heller ikke ændringer af applikationslogikken.

• Fejltolerance

HADOOP ecossystemet har en bestemmelse til at replikere inputdataene til andre cluster noder. På den måde, i tilfælde af en cluster knudefejl, 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 ydeevnen af ​​Hadoop cluster når størrelsen af ​​Hadoop cluster vokser. Udover ydeevnen skal man også bekymre sig om den høje tilgængelighed og håndtering af fejl. For at opnå denne Hadoop, cluster dannelse gør 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 knudepunkter i dette træ (antal hop) betragtes som en vigtig faktor i dannelsen af ​​Hadoop cluster. Her er afstanden mellem to noder lig med summen af ​​deres afstand til deres nærmeste fælles forfader.

Hadoop cluster består af et datacenter, racket og den node, som rent faktisk udfører opgaver. 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