sql >> Database >  >> NoSQL >> HBase

Hadoop-ecosysteem - Inleiding tot Hadoop-componenten

In onze vorige blog hebben we het gehad over Hadoop-introductie in detail. In deze blog gaan we antwoorden op wat Hadoop Ecosystem is en wat de rollen zijn van Hadoop Components.

In deze Hadoop Components-tutorial bespreken we verschillende ecosysteemcomponenten van de Hadoop-familie, zoals HDFS, MapReduce, YARN, Hive, HBase, Pig, Zookeeper enz.

Al deze componenten van het Hadoop-ecosysteem worden besproken, samen met hun kenmerken en verantwoordelijkheden.

Hadoop Ecosysteem-zelfstudie

Apache Hadoop is de krachtigste tool van Big Data. Het Hadoop-ecosysteem draait om drie hoofdcomponenten HDFS, MapReduce en YARN. Naast deze Hadoop-componenten zijn er ook enkele andere Hadoop-ecosysteemcomponenten die een belangrijke rol spelen bij het verbeteren van de Hadoop-functionaliteit.

laten we nu de verschillende Hadoop-componenten in detail begrijpen.

a. HDFS

Hadoop gedistribueerd bestandssysteem (HDFS) is het primaire opslagsysteem van Hadoop. HDFS slaat zeer grote bestanden op die draaien op een cluster van standaardhardware.

Het volgt het principe van het opslaan van minder grote bestanden in plaats van het enorme aantal kleine bestanden. HDFS slaat gegevens betrouwbaar op, zelfs in het geval van een hardwarestoring. Daarom biedt het toegang tot de applicatie met een hoge doorvoer door parallelle toegang.

Onderdelen van HDFS:

  • NameNode – Het werkt als Master in Hadoop-cluster. Namenode slaat metagegevens op, d.w.z. aantal blokken, replica's en andere details. Metadata is aanwezig in het geheugen in de master. NameNode wijst taken toe aan het slave-knooppunt. Het moet worden geïmplementeerd op betrouwbare hardware, aangezien het het middelpunt van HDFS is.
  • DataNode – Het werkt als slaaf in het Hadoop-cluster. In Hadoop HDFS is DataNode verantwoordelijk voor het opslaan van actuele gegevens in HDFS. DataNode voert ook lees- en schrijfbewerkingen uit op verzoek van de clients. DataNodes kan ook worden ingezet op basishardware.

b. MapReduce

Hadoop MapReduce is de gegevensverwerkingslaag van Hadoop. Het verwerkt grote gestructureerde en ongestructureerde gegevens die zijn opgeslagen in HDFS. MapReduce verwerkt ook een enorme hoeveelheid gegevens parallel.

Het doet dit door de taak (ingediende taak) op te delen in een reeks zelfstandige taken (subtaak). In Hadoop werkt MapReduce door de verwerking in fasen op te splitsen:Map en Reduce.

  • Kaart – Het is de eerste verwerkingsfase, waarin we alle complexe logische code specificeren.
  • Verminderen – Het is de tweede fase van verwerking. Hier specificeren we lichtgewicht verwerking zoals aggregatie/sommatie.

c. GAREN

Hadoop YARN zorgt voor het resourcebeheer. Het is het besturingssysteem van Hadoop. Het is dus verantwoordelijk voor het beheren en bewaken van workloads en het implementeren van beveiligingscontroles. Het is een centraal platform om tools voor gegevensbeheer te leveren aan Hadoop-clusters.

YARN maakt meerdere dataverwerkingsengines mogelijk, zoals realtime streaming, batchverwerking enz.

Onderdelen van YARN:

  • Bronnenbeheer -  Het is een component op clusterniveau en draait op de Master-machine. Daarom beheert het bronnen en plant het applicaties die bovenop YARN worden uitgevoerd. Het heeft twee componenten:Scheduler &Application Manager.
  • Knooppuntbeheer -  Het is een component op knooppuntniveau. Het draait op elke slave-machine. Het communiceert continu met Resource Manager om up-to-date te blijven

d. Bijenkorf

Apache Hive is een open source datawarehouse-systeem dat wordt gebruikt voor het opvragen en analyseren van grote datasets die zijn opgeslagen in Hadoop-bestanden. Het verwerkt gestructureerde en semi-gestructureerde gegevens in Hadoop.

Hive ondersteunt ook de analyse van grote datasets die zijn opgeslagen in HDFS en ook in het Amazon S3-bestandssysteem wordt door Hive ondersteund. Hive gebruikt de taal genaamd HiveQL (HQL), wat vergelijkbaar is met SQL. HiveQL vertaalt automatisch SQL-achtige zoekopdrachten naar MapReduce-taken.

e. Varken

Het is een taalplatform op hoog niveau dat is ontwikkeld om query's uit te voeren op enorme datasets die zijn opgeslagen in Hadoop HDFS. PigLatin is een taal die in pig wordt gebruikt en die erg lijkt op SQL.

Pig laadt de data, past de benodigde filters toe en dumpt de data in het gewenste formaat. Pig converteert ook alle bewerkingen naar Map and Reduce-taken die effectief worden verwerkt op Hadoop.

Kenmerken van varken:

  • Uitbreidbaar – Varkensgebruikers kunnen aangepaste functies maken om aan hun specifieke verwerkingsvereisten te voldoen.
  • Zelfoptimalisatie –  Omdat Pig het systeem automatisch laat optimaliseren. De gebruiker kan zich dus concentreren op semantiek.
  • Verwerkt allerlei soorten gegevens -  Varkensanalyses zowel gestructureerd als ongestructureerd.

v. HBase

Apache HBase is een NoSQL-database die bovenop Hadoop draait. Het is een database die gestructureerde gegevens opslaat in tabellen die miljarden rijen en miljoenen kolommen kunnen bevatten. HBase biedt ook realtime toegang om gegevens in HDFS te lezen of te schrijven.

Onderdelen van HBase:

  • HBase Master – Het maakt geen deel uit van de daadwerkelijke gegevensopslag. Maar het voert het beheer uit (interface voor het maken, bijwerken en verwijderen van tabellen).
  • Regioserver – Het is het werkknooppunt. Het behandelt lees-, schrijf-, updates en verwijderverzoeken van klanten. Regioserver-proces draait ook op elk knooppunt in Hadoop-cluster.

g. HCatalog

Het is een tabel- en opslagbeheerlaag bovenop Apache Hadoop. HCatalog is een hoofdbestanddeel van Hive. Daarom stelt het de gebruiker in staat om hun gegevens in elk formaat en elke structuur op te slaan. Het ondersteunt ook verschillende Hadoop-componenten om gemakkelijk gegevens van het cluster te lezen en te schrijven.

Voordelen van HCatalog:

  • Zorg voor zichtbaarheid voor tools voor het opschonen en archiveren van gegevens.
  • Met de tabelabstractie bevrijdt HCatalog de gebruiker van de overhead van gegevensopslag.
  • Maakt meldingen over de beschikbaarheid van gegevens mogelijk.

ik. Avro

Het is een open source-project dat dataserialisatie en data-uitwisselingsdiensten levert voor Hadoop. Met behulp van serialisatie kunnen serviceprogramma's gegevens serialiseren in bestanden of berichten.

Het slaat ook gegevensdefinitie en gegevens samen op in één bericht of bestand. Dit maakt het dus gemakkelijk voor programma's om informatie die is opgeslagen in een Avro-bestand of -bericht dynamisch te begrijpen.

Avro biedt:

  • Containerbestand, om persistente gegevens op te slaan.
  • Procedureoproep op afstand.
  • Rijke datastructuren.
  • Compact, snel, binair gegevensformaat.

j. Spaarzaamheid

Apache Thrift is een softwareframework dat schaalbare ontwikkeling van meertalige services mogelijk maakt. Thrift wordt ook gebruikt voor RPC-communicatie. Apache Hadoop doet veel RPC-aanroepen, dus er is een mogelijkheid om Thrift te gebruiken voor prestaties.

k. Boor

De boor wordt gebruikt voor grootschalige gegevensverwerking. Het ontwerp van de oefening is om te schalen naar enkele duizenden knooppunten en petabytes aan gegevens op te vragen. Het is ook een gedistribueerde query-engine met lage latentie voor grootschalige datasets.

De drill is ook de eerste gedistribueerde SQL-query-engine die een model zonder schema heeft.

Kenmerken van oefening :

  • Drill gedecentraliseerde metadata –  Drill heeft geen gecentraliseerde metadatavereiste. Drill-gebruikers hoeven geen tabellen in metadata te maken en te beheren om gegevens op te vragen.
  • Flexibiliteit – Drill biedt een hiërarchisch kolomvormig gegevensmodel. Het kan complexe, zeer dynamische gegevens vertegenwoordigen en ook een efficiënte verwerking mogelijk maken.
  • Dynamische schema-ontdekking – Om het query-uitvoeringsproces te starten, heeft Drill geen typespecificatie voor gegevens nodig. In plaats daarvan begint Drill de gegevens te verwerken in eenheden die recordbatches worden genoemd. Het ontdekt ook het schema tijdens de verwerking.

l. Mahout

Het is een open source framework dat wordt gebruikt voor het maken van een schaalbaar algoritme voor machine learning. Zodra we gegevens in HDFS hebben opgeslagen, biedt mahout de datawetenschapstools om automatisch betekenisvolle patronen in die Big Data-sets te vinden.

m. Sqoop

Het wordt voornamelijk gebruikt voor het importeren en exporteren van gegevens. Het importeert dus gegevens van externe bronnen in gerelateerde Hadoop-componenten zoals HDFS, HBase of Hive. Het exporteert ook gegevens van Hadoop naar andere externe bronnen. Sqoop werkt met relationele databases zoals Teradata, Netezza, Oracle, MySQL.

n. Goot

Flume verzamelt, aggregeert en verplaatst op efficiënte wijze een grote hoeveelheid gegevens van de oorsprong en stuurt deze terug naar HDFS. Het heeft een zeer eenvoudige en flexibele architectuur op basis van streaming datastromen. Flume is fouttolerant, ook een betrouwbaar mechanisme.

Flume maakt ook stroomgegevens van de bron naar de Hadoop-omgeving mogelijk. Het maakt gebruik van een eenvoudig uitbreidbaar gegevensmodel dat de online analytische toepassing mogelijk maakt. Daarom kunnen we met Flume de gegevens van meerdere servers onmiddellijk in Hadoop krijgen.

o. Ambari

Het is een open source beheerplatform. Het is een platform voor het inrichten, beheren, bewaken en beveiligen van het Apache Hadoop-cluster. Hadoop-beheer wordt eenvoudiger omdat Ambari een consistent, veilig platform biedt voor operationele controle.

Voordelen van Ambari:

  • Vereenvoudigde installatie, configuratie en beheer –  Het kan gemakkelijk en efficiënt clusters op schaal maken en beheren.
  • Gecentraliseerde beveiligingsconfiguratie -  Ambari configureert clusterbeveiliging over het hele platform. Het vermindert ook de complexiteit om te beheren.
  • Zeer uitbreidbaar en aanpasbaar –  Ambari is zeer uitbreidbaar om aangepaste services onder beheer te brengen.
  • Volledig inzicht in clustergezondheid – Ambari zorgt ervoor dat het cluster gezond en beschikbaar is met een holistische benadering van monitoring.

blz. Dierenverzorger

Zookeeper in Hadoop is een gecentraliseerde dienst. Het onderhoudt configuratie-informatie, naamgeving en biedt gedistribueerde synchronisatie. Het biedt ook groepsdiensten. Zookeeper beheert en coördineert ook een groot aantal machines.

Voordelen van Zookeeper:

  • Snel – zookeeper is snel met workloads waarbij het lezen van gegevens vaker voorkomt dan het schrijven. De ideale lees-/schrijfverhouding is 10:1.
  • Besteld – dierenverzorger houdt een register bij van alle transacties, die ook kunnen worden gebruikt voor

q. Ooie

Het is een workflow-plannersysteem om Apache Hadoop-taken te beheren. Het combineert meerdere taken opeenvolgend tot één logische werkeenheid.

Daarom is het Oozie-framework volledig geïntegreerd met de Apache Hadoop-stack, YARN als een architectuurcentrum. Het ondersteunt ook Hadoop-taken voor Apache MapReduce, Pig, Hive en Sqoop.

Oozie is schaalbaar en ook nog eens erg flexibel. Men kan gemakkelijk jobs starten, stoppen, opschorten en opnieuw uitvoeren. Daarom maakt Oozie het heel gemakkelijk om mislukte workflows opnieuw uit te voeren. Het is ook mogelijk om een ​​specifiek defect knooppunt over te slaan.

Er zijn twee basistypen Oozie-taken:

  • Oozie-workflow –  Het is bedoeld om workflows op te slaan en uit te voeren die zijn samengesteld uit Hadoop-taken, bijvoorbeeld MapReduce, Pig, Hive.
  • Oozie-coördinator –  Het voert workflowtaken uit op basis van vooraf gedefinieerde schema's en beschikbaarheid van gegevens.

Conclusie

Daarom biedt Hadoop Ecosystem verschillende componenten die het zo populair maken. Dankzij deze Hadoop-componenten zijn er nu verschillende Hadoop-functies beschikbaar.

Ik hoop dat deze Hadoop Ecosystem-tutorial je veel helpt om de Hadoop-familie en hun rollen te begrijpen. Als je een vraag vindt, deel deze dan met ons in het opmerkingenveld.


  1. Een overzicht van versleuteling op veldniveau aan de clientzijde in MongoDB

  2. De strijd om de NoSQL-databases - MongoDB en de NoSQL-functies van MSSQL vergelijken

  3. Hoe authenticatie op MongoDB inschakelen via Docker?

  4. In Santander's Near Real-Time Data Ingest Architecture (deel 2)