Hvad er Hadoop?
Apache Hadoop er en open source-software-ramme, der bruges til at udvikle databehandlingsapplikationer, der udføres i et distribueret computermiljø.
Applikationer bygget med HADOOP køres på store datasæt fordelt på klynger af handelscomputere. Råvarecomputere er billige og bredt tilgængelige. Disse er hovedsageligt nyttige til at opnå større beregningskraft til lave omkostninger.
Svarende til data, der er bosiddende i et lokalt filsystem i et pc-system, ligger Hadoop i Hadoop i et distribueret filsystem, der kaldes et Hadoop Distribueret filsystem . Behandlingsmodellen er baseret på 'Data Locality' koncept, hvor beregningslogik sendes til klyngenoder (server), der indeholder data. Denne beregningslogik er intet, men en kompileret version af et program skrevet på et højt sprog som Java. Et sådant program behandler data, der er gemt i Hadoop HDFS.
Ved du? Computerklynge består af et sæt af flere behandlingsenheder (lagerdisk + processor), der er forbundet til hinanden og fungerer som et enkelt system.
I denne vejledning lærer du,
- Hadoop EcoSystem og komponenter
- Hadoop Arkitektur
- Funktioner af 'Hadoop'
- Netværkstopologi i Hadoop
Hadoop EcoSystem og komponenter
Nedenstående diagram viser forskellige komponenter i Hadoop-økosystemet-
Apache Hadoop består af to delprojekter -
- Hadoop MapReduce: MapReduce er en beregningsmodel og software-ramme til skrivning af applikationer, der køres på Hadoop. Disse MapReduce-programmer er i stand til at behandle enorme data parallelt på store klynger af beregningsknudepunkter.
- HDFS ( Hadoop Distributed File System ): HDFS tager sig af lagringsdelen af Hadoop-applikationer. MapReduce-applikationer bruger data fra HDFS. HDFS opretter flere replikaer af datablokke og distribuerer dem på computernoder i en klynge. Denne distribution 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 for distribueret databehandling og databehandling i stor skala. Andre Hadoop-relaterede projekter hos Apache inkluderer Hive, HBase, Mahout, Sqoop, Flume og ZooKeeper.
Hadoop Arkitektur
Hadoop har en Master-Slave-arkitektur til datalagring og distribueret databehandling ved hjælp af MapReduce- og HDFS-metoder.
NavnNode:
NameNode repræsenterede alle filer og biblioteker, der bruges i navneområdet
DataNode:
DataNode hjælper dig med at styre tilstanden af en HDFS-knude og giver dig mulighed for at interagere med blokkene
MasterNode:
Hovedknuden giver dig mulighed for at udføre parallel behandling af data ved hjælp af Hadoop MapReduce.
Slave node:
Slaveknudepunkterne er de ekstra maskiner i Hadoop-klyngen, som giver dig mulighed for at gemme data til at udføre komplekse beregninger. Desuden kommer hele slaveknudepunktet 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 slave-system oprettes i skyen eller på stedet
Funktioner af 'Hadoop'
• Velegnet til Big Data-analyse
Da Big Data har tendens til at være distribueret og ustruktureret i naturen, er HADOOP-klynger bedst egnet til analyse af Big Data. Da det behandler logik (ikke de faktiske data), der flyder til computernoderne, forbruges mindre netværksbåndbredde. Dette koncept kaldes datalokalitetskoncept, som hjælper med at øge effektiviteten af Hadoop-baserede applikationer.
• Skalerbarhed
HADOOP-klynger kan let skaleres i ethvert omfang ved at tilføje yderligere klyngenoder og muliggør således vækst af Big Data. Skalering kræver heller ikke ændringer i applikationslogikken.
• Fejltolerance
HADOOP økosystem har en bestemmelse til at replikere inputdataene til andre klyngenoder. På den måde kan databehandling i tilfælde af en klynge node-fejl fortsætte ved hjælp af data gemt på en anden klynge node.
Netværkstopologi i Hadoop
Topologi (arrangement) af netværket påvirker udførelsen af Hadoop-klyngen, når størrelsen på Hadoop-klyngen vokser. Ud over ydeevnen skal man også være opmærksom på den høje tilgængelighed og håndtering af fejl. For at opnå denne Hadoop gør klyngedannelse brug af netværkstopologi.
Netværksbåndbredde er typisk en vigtig faktor, der skal overvejes, når der dannes ethvert netværk. Da måling af båndbredde imidlertid kunne være vanskelig, i Hadoop er et netværk repræsenteret som et træ, og afstanden mellem knudepunkterne på dette træ (antal humle) 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-klynge består af et datacenter, stativet og den node, der faktisk udfører job. Her består datacenter af stativer 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 node
- Forskellige noder på samme stativ
- Noder på forskellige stativer i det samme datacenter
- Noder i forskellige datacentre