sql >> Databasteknik >  >> NoSQL >> HBase

Hadoop Ecosystem – Introduktion till Hadoop-komponenter

I vår tidigare blogg har vi diskuterat Hadoop Introduktion i detalj. Nu i den här bloggen kommer vi att svara på vad som är Hadoop Ecosystem och vilka roller Hadoop Components har.

I denna handledning för Hadoop Components kommer vi att diskutera olika ekosystemkomponenter i Hadoop-familjen som HDFS, MapReduce, YARN, Hive, HBase, Pig, Zookeeper etc.

Alla dessa komponenter i Hadoop Ecosystem diskuteras tillsammans med deras funktioner och ansvar.

Hadoop Ecosystem Tutorial

Apache Hadoop är det mest kraftfulla verktyget för Big Data. Hadoop ekosystem kretsar kring tre huvudkomponenter HDFS, MapReduce och YARN. Förutom dessa Hadoop-komponenter finns det också några andra Hadoop-ekosystemkomponenter som spelar en viktig roll för att förbättra Hadoop-funktionerna.

låt oss nu förstå de olika Hadoop-komponenterna i detalj.

a. HDFS

Hadoop Distributed File System (HDFS) är Hadoops primära lagringssystem. HDFS lagrar mycket stora filer som körs på ett kluster av råvaruhårdvara.

Den följer principen att lagra ett mindre antal stora filer snarare än det enorma antalet små filer. HDFS lagrar data på ett tillförlitligt sätt även vid hårdvarufel. Därför ger den åtkomst till applikationen med hög genomströmning genom parallell åtkomst.

Komponenter i HDFS:

  • NameNode – Det fungerar som Master in Hadoop-kluster. Namenode lagrar metadata, dvs antal block, repliker och andra detaljer. Metadata finns i minnet i mastern. NameNode tilldelar uppgifter till slavnoden. Det bör distribueras på tillförlitlig hårdvara eftersom det är mittpunkten i HDFS.
  • DataNode – Det fungerar som slav i Hadoop-kluster. I Hadoop HDFS ansvarar DataNode för att lagra faktisk data i HDFS. DataNode utför också läs- och skrivoperationer enligt begäran för klienterna. DataNodes kan också distribueras på råvaruhårdvara.

b. MapReduce

Hadoop MapReduce är databearbetningsskiktet i Hadoop. Den bearbetar stora strukturerade och ostrukturerade data lagrade i HDFS. MapReduce bearbetar också en enorm mängd data parallellt.

Den gör detta genom att dela upp jobbet (inlämnat jobb) i en uppsättning självständiga uppgifter (underjobb). I Hadoop fungerar MapReduce genom att dela upp bearbetningen i faser:Map and Reduce.

  • Karta – Det är den första fasen av bearbetningen, där vi specificerar all komplex logikkod.
  • Minska – Det är den andra fasen av bearbetningen. Här specificerar vi lättviktsbearbetning som aggregering/summering.

c. GARN

Hadoop YARN tillhandahåller resurshanteringen. Det är operativsystemet för Hadoop. Så det är ansvarigt för att hantera och övervaka arbetsbelastningar, implementera säkerhetskontroller. Det är en central plattform för att leverera datastyrningsverktyg över Hadoop-kluster.

YARN tillåter flera databearbetningsmotorer såsom realtidsströmning, batchbearbetning etc.

Komponenter i GARN:

  • Resurshanterare –  Det är en klusternivåkomponent och körs på Master-maskinen. Därför hanterar den resurser och schemalägger applikationer som körs på toppen av YARN. Den har två komponenter:Schemaläggare och applikationshanterare.
  • Nodhanterare –  Det är en komponent på nodnivå. Den körs på varje slavmaskin. Den kommunicerar kontinuerligt med Resource Manager för att hålla sig uppdaterad

d. Hive

Apache Hive är ett datalagersystem med öppen källkod som används för att söka och analysera stora datamängder lagrade i Hadoop-filer. Den bearbetar strukturerad och semistrukturerad data i Hadoop.

Hive stöder även analys av stora datamängder lagrade i HDFS och även i Amazon S3-filsystemet stöds av Hive. Hive använder språket som heter HiveQL (HQL), som liknar SQL. HiveQL översätter automatiskt SQL-liknande frågor till MapReduce-jobb.

e. Gris

Det är en språkplattform på hög nivå utvecklad för att utföra frågor på enorma datamängder som lagras i Hadoop HDFS. PigLatin är ett språk som används i pig som är mycket likt SQL.

Pig laddar data, tillämpar de nödvändiga filtren och dumpar data i det format som krävs. Pig konverterar också all operation till Map and Reduce-uppgifter som effektivt bearbetas på Hadoop.

Egenskaper hos gris:

  • Utökningsbar – Grisanvändare kan skapa anpassade funktioner för att möta deras speciella bearbetningskrav.
  • Självoptimerande –  Eftersom Pig låter systemet optimera automatiskt. Så användaren kan fokusera på semantik.
  • Hanterar alla typer av data –  Gris analyserar både strukturerade och ostrukturerade.

f. HBase

Apache HBase är NoSQL-databas som körs på toppen av Hadoop. Det är en databas som lagrar strukturerad data i tabeller som kan ha miljarder rader och miljontals kolumner. HBase ger också tillgång i realtid för att läsa eller skriva data i HDFS.

Komponenter i HBase:

  • HBase Master – Det är inte en del av den faktiska datalagringen. Men den utför administration (gränssnitt för att skapa, uppdatera och ta bort tabeller.).
  • Regionsserver – Det är arbetarnoden. Den hanterar läsning, skrivning, uppdateringar och raderingsförfrågningar från klienter. Regionservern körs också på varje nod i Hadoop-klustret.

g. HKatalog

Det är tabell- och lagringshanteringslager på toppen av Apache Hadoop. Hcatalog är en huvudkomponent i Hive. Därför gör det det möjligt för användaren att lagra sina data i alla format och strukturer. Den stöder också olika Hadoop-komponenter för att enkelt läsa och skriva data från klustret.

Fördelar med HKatalog:

  • Ge synlighet för verktyg för datarensning och arkivering.
  • Med tabellabstraktionen frigör HCatalog användaren från överkostnaderna för datalagring.
  • Aktiverar aviseringar om datatillgänglighet.

i. Avro

Det är ett projekt med öppen källkod som tillhandahåller dataserialisering och datautbyte för Hadoop. Med hjälp av serialisering kan tjänsteprogram serialisera data till filer eller meddelanden.

Den lagrar också datadefinition och data tillsammans i ett meddelande eller en fil. Detta gör det därför enkelt för program att dynamiskt förstå information som lagras i Avro-fil eller meddelande.

Avro tillhandahåller:

  • Behållarfil, för att lagra beständiga data.
  • Fjärrproceduranrop.
  • Rikiga datastrukturer.
  • Kompakt, snabbt, binärt dataformat.

j. Sparsamhet

Apache Thrift är ett mjukvaruramverk som möjliggör skalbar utveckling av tjänster på flera språk. Thrift används också för RPC-kommunikation. Apache Hadoop gör många RPC-anrop, så det finns en möjlighet att använda Thrift för prestanda.

k. Borr

Borren används för storskalig databehandling. Utformningen av borren är att skala till flera tusen noder och fråga petabyte med data. Det är också en distribuerad frågemotor med låg latens för storskaliga datamängder.

Drillen är också den första distribuerade SQL-frågemotorn som har en schemafri modell.

Borrens egenskaper :

  • Drill decentraliserade metadata –  Drill har inget centraliserat metadatakrav. Drill-användare behöver inte skapa och hantera tabeller i metadata för att söka efter data.
  • Flexibilitet – Drill tillhandahåller hierarkisk kolumnär datamodell. Det kan representera komplexa, mycket dynamiska data och även möjliggöra effektiv bearbetning.
  • Dynamisk schemaupptäckt – För att starta frågekörningsprocessen kräver Drill ingen typspecifikation för data. Istället börjar borren bearbeta data i enheter som kallas för postbatcher. Den upptäcker också schemat i farten under bearbetningen.

l. Mahout

Det är ett ramverk med öppen källkod som används för att skapa skalbar maskininlärningsalgoritm. När vi väl lagrar data i HDFS tillhandahåller mahout datavetenskapliga verktyg för att automatiskt hitta meningsfulla mönster i dessa Big Data-uppsättningar.

m. Sqoop

Den används främst för att importera och exportera data. Så den importerar data från externa källor till relaterade Hadoop-komponenter som HDFS, HBase eller Hive. Den exporterar också data från Hadoop till andra externa källor. Sqoop arbetar med relationsdatabaser som Teradata, Netezza, Oracle, MySQL.

n. Flume

Flume samlar effektivt in, aggregerar och flyttar en stor mängd data från dess ursprung och skickar tillbaka den till HDFS. Den har en mycket enkel och flexibel arkitektur baserad på strömmande dataflöden. Flume är feltolerant, också en pålitlig mekanism.

Flume tillåter också flödesdata från källan till Hadoop-miljön. Den använder en enkel utökningsbar datamodell som möjliggör onlineanalysapplikationen. Därför kan vi med Flume hämta data från flera servrar direkt till Hadoop.

o. Ambari

Det är en hanteringsplattform med öppen källkod. Det är en plattform för att tillhandahålla, hantera, övervaka och säkra Apache Hadoop-kluster. Hadoop-hanteringen blir enklare eftersom Ambari tillhandahåller en konsekvent, säker plattform för driftskontroll.

Fördelar med Ambari:

  • Förenklad installation, konfiguration och hantering –  Det kan enkelt och effektivt skapa och hantera kluster i stor skala.
  • Centraliserad säkerhetsinställning –  Ambari konfigurerar klustersäkerhet över hela plattformen. Det minskar också komplexiteten att administrera.
  • Mycket utbyggbart och anpassningsbart –  Ambari är mycket utbyggbart för att hantera anpassade tjänster.
  • Fullständig insyn i klusterhälsa – Ambari säkerställer att klustret är hälsosamt och tillgängligt med ett holistiskt synsätt på övervakning.

s. Djurskötare

Zookeeper i Hadoop är en centraliserad tjänst. Den upprätthåller konfigurationsinformation, namngivning och tillhandahåller distribuerad synkronisering. Det tillhandahåller även grupptjänster. Zookeeper hanterar och koordinerar också ett stort kluster av maskiner.

Fördelar med Zookeeper:

  • Snabb – zookeeper är snabb med arbetsbelastningar där läsningar till data är vanligare än skrivningar. Det ideala läs/skrivförhållandet är 10:1.
  • Beställd – zookeeper håller ett register över alla transaktioner, som även kan användas för högnivå

q. Ojoj

Det är ett arbetsflödesschemaläggningssystem för att hantera Apache Hadoop-jobb. Den kombinerar flera jobb sekventiellt till en logisk arbetsenhet.

Därför är Oozie-ramverket helt integrerat med Apache Hadoop-stack, YARN som ett arkitekturcenter. Den stöder också Hadoop-jobb för Apache MapReduce, Pig, Hive och Sqoop.

Oozie är skalbar och dessutom väldigt flexibel. Man kan enkelt starta, stoppa, avbryta och köra jobb igen. Därför gör Oozie det mycket enkelt att köra misslyckade arbetsflöden igen. Det är också möjligt att hoppa över en specifik misslyckad nod.

Det finns två grundläggande typer av Oozie-jobb:

  • Oozie arbetsflöde –  Det är för att lagra och köra arbetsflöden som består av Hadoop-jobb, t.ex. MapReduce, Pig, Hive.
  • Oozie-koordinator –  Den kör arbetsflödesjobb baserat på fördefinierade scheman och tillgänglighet av data.

Slutsats

Därför tillhandahåller Hadoop Ecosystem olika komponenter som gör det så populärt. På grund av dessa Hadoop-komponenter finns flera Hadoop-jobbroller tillgängliga nu.

Jag hoppas att den här Hadoop Ecosystem-handledningen hjälper dig mycket att förstå Hadoop-familjen och deras roller. Om du hittar någon fråga, så vänligen dela med oss ​​i kommentarsfältet.


  1. MongoDB:Uppdatering av dokument med data från samma dokument

  2. Skillnad mellan id- och _id-fält i MongoDB

  3. TypeError:ObjectId('') kan inte serialiseras med JSON

  4. Fjäderdata MongoDb:MappingMongoConverter remove _class