Wat is Hadoop? Inleiding, architectuur, ecosysteem, componenten

Inhoudsopgave:

Anonim

Wat is Hadoop?

Apache Hadoop is een open source softwareframework dat wordt gebruikt om gegevensverwerkingstoepassingen te ontwikkelen die worden uitgevoerd in een gedistribueerde computeromgeving.

Toepassingen die met HADOOP zijn gebouwd, worden uitgevoerd op grote gegevenssets die zijn verdeeld over clusters van standaardcomputers. Standaardcomputers zijn goedkoop en overal verkrijgbaar. Deze zijn vooral nuttig om tegen lage kosten meer rekenkracht te verkrijgen.

Vergelijkbaar met gegevens die zich in een lokaal bestandssysteem van een pc-systeem bevinden, bevinden gegevens zich in Hadoop in een gedistribueerd bestandssysteem dat een Hadoop-gedistribueerd bestandssysteem wordt genoemd . Het verwerkingsmodel is gebaseerd op het 'Data Locality'- concept waarbij computationele logica wordt verzonden naar clusterknooppunten (server) die gegevens bevatten. Deze computationele logica is niets anders dan een gecompileerde versie van een programma dat is geschreven in een taal op hoog niveau, zoals Java. Zo'n programma verwerkt gegevens die zijn opgeslagen in Hadoop HDFS.

Ken jij? Computercluster bestaat uit een set van meerdere verwerkingseenheden (opslagschijf + processor) die met elkaar zijn verbonden en fungeren als één systeem.

In deze tutorial leer je,

  • Hadoop EcoSystem en componenten
  • Hadoop-architectuur
  • Kenmerken van 'Hadoop'
  • Netwerktopologie in Hadoop

Hadoop EcoSystem en componenten

Onderstaand diagram toont verschillende componenten in het Hadoop-ecosysteem-

Apache Hadoop bestaat uit twee subprojecten -

  1. Hadoop MapReduce: MapReduce is een computationeel model en softwareframework voor het schrijven van applicaties die op Hadoop worden uitgevoerd. Deze MapReduce-programma's zijn in staat om enorme gegevens parallel te verwerken op grote clusters van rekenknooppunten.
  2. HDFS ( Hadoop Distributed File System ): HDFS zorgt voor het opslaggedeelte van Hadoop-applicaties. MapReduce-applicaties verbruiken gegevens van HDFS. HDFS maakt meerdere replica's van datablokken en distribueert deze op rekenknooppunten in een cluster. Deze distributie maakt betrouwbare en extreem snelle berekeningen mogelijk.

Hoewel Hadoop vooral bekend is vanwege MapReduce en zijn gedistribueerde bestandssysteem - HDFS, wordt de term ook gebruikt voor een familie van gerelateerde projecten die vallen onder de paraplu van gedistribueerd computergebruik en grootschalige gegevensverwerking. Andere Hadoop-gerelateerde projecten bij Apache zijn onder meer Hive, HBase, Mahout, Sqoop, Flume en ZooKeeper.

Hadoop-architectuur

Hadoop-architectuur op hoog niveau

Hadoop heeft een Master-Slave-architectuur voor gegevensopslag en gedistribueerde gegevensverwerking met behulp van MapReduce- en HDFS-methoden.

Naam knooppunt:

NameNode vertegenwoordigde alle bestanden en mappen die in de naamruimte worden gebruikt

DataNode:

DataNode helpt u de status van een HDFS-knooppunt te beheren en stelt u in staat om met de blokken te communiceren

MasterNode:

Met het masterknooppunt kunt u parallelle gegevensverwerking uitvoeren met Hadoop MapReduce.

Slave-knooppunt:

De slaafknooppunten zijn de extra machines in het Hadoop-cluster waarmee u gegevens kunt opslaan om complexe berekeningen uit te voeren. Bovendien wordt alle slaafknooppunt geleverd met Task Tracker en een DataNode. Hiermee kunt u de processen synchroniseren met respectievelijk de NameNode en Job Tracker.

In Hadoop kan een master- of slavesysteem worden opgezet in de cloud of on-premise

Kenmerken van 'Hadoop'

• Geschikt voor Big Data-analyse

Aangezien Big Data vaak gedistribueerd en ongestructureerd van aard is, zijn HADOOP-clusters het meest geschikt voor analyse van Big Data. Omdat het verwerkingslogica (niet de feitelijke gegevens) is die naar de computerknooppunten stroomt, wordt er minder netwerkbandbreedte verbruikt. Dit concept wordt data locality-concept genoemd, dat de efficiëntie van op Hadoop gebaseerde applicaties helpt te verhogen.

• Schaalbaarheid

HADOOP-clusters kunnen eenvoudig in elke mate worden geschaald door extra clusterknooppunten toe te voegen en zo de groei van Big Data mogelijk te maken. Ook vereist schaalvergroting geen wijzigingen in de applicatielogica.

• Fouttolerantie

Het HADOOP-ecosysteem heeft een voorziening om de invoergegevens naar andere clusterknooppunten te repliceren. Op die manier kan, in het geval van een storing in een clusterknooppunt, de gegevensverwerking nog steeds doorgaan met behulp van gegevens die zijn opgeslagen op een ander clusterknooppunt.

Netwerktopologie in Hadoop

Topologie (rangschikking) van het netwerk, beïnvloedt de prestaties van het Hadoop-cluster wanneer de omvang van het Hadoop-cluster toeneemt. Naast de prestaties moet ook aandacht worden besteed aan de hoge beschikbaarheid en afhandeling van storingen. Om deze Hadoop te bereiken, maakt clustervorming gebruik van netwerktopologie.

Netwerkbandbreedte is doorgaans een belangrijke factor om rekening mee te houden bij het vormen van een netwerk. Omdat het meten van bandbreedte echter moeilijk kan zijn, wordt in Hadoop een netwerk weergegeven als een boom en wordt de afstand tussen knooppunten van deze boom (aantal hops) beschouwd als een belangrijke factor bij de vorming van een Hadoop-cluster. Hier is de afstand tussen twee knooppunten gelijk aan de som van hun afstand tot hun dichtstbijzijnde gemeenschappelijke voorouder.

Hadoop-cluster bestaat uit een datacenter, het rack en het knooppunt dat daadwerkelijk taken uitvoert. Hier bestaat datacenter uit racks en rack uit nodes. De netwerkbandbreedte die beschikbaar is voor processen, varieert afhankelijk van de locatie van de processen. Dat wil zeggen, de beschikbare bandbreedte wordt kleiner naarmate we weggaan van-

  • Verwerkt op hetzelfde knooppunt
  • Verschillende knooppunten op hetzelfde rek
  • Knooppunten op verschillende racks van hetzelfde datacenter
  • Knooppunten in verschillende datacenters