sql >> Database teknologi >  >> NoSQL >> HBase

Hadoop Ecosystem – Introduktion til Hadoop-komponenter

I vores tidligere blog har vi diskuteret Hadoop Introduktion i detaljer. Nu i denne blog skal vi svare på, hvad der er Hadoop Ecosystem, og hvad er Hadoop-komponenternes roller.

I denne selvstudie i Hadoop Components vil vi diskutere forskellige økosystemkomponenter i Hadoop-familien, såsom HDFS, MapReduce, YARN, Hive, HBase, Pig, Zookeeper osv.

Alle disse komponenter i Hadoop Ecosystem diskuteres sammen med deres funktioner og ansvar.

Hadoop Ecosystem Tutorial

Apache Hadoop er det mest kraftfulde værktøj til Big Data. Hadoop-økosystemet kredser om tre hovedkomponenter HDFS, MapReduce og YARN. Ud over disse Hadoop-komponenter er der også nogle andre Hadoop-økosystemkomponenter, der spiller en vigtig rolle for at booste Hadoop-funktionaliteter.

lad os nu forstå de forskellige Hadoop-komponenter i detaljer.

a. HDFS

Hadoop distribueret filsystem (HDFS) er Hadoops primære lagersystem. HDFS gemmer meget store filer, der kører på en klynge af råvarehardware.

Det følger princippet om at gemme mindre antal store filer i stedet for det store antal små filer. HDFS gemmer data pålideligt, selv i tilfælde af hardwarefejl. Derfor giver det høj gennemløbsadgang til applikationen ved at få adgang parallelt.

Komponenter af HDFS:

  • NameNode – Det fungerer som Master in Hadoop-klynge. Namenode gemmer metadata, dvs. antal blokke, replikaer og andre detaljer. Metadata er til stede i hukommelsen i masteren. NameNode tildeler opgaver til slavenoden. Det bør implementeres på pålidelig hardware, da det er midtpunktet i HDFS.
  • DataNode – Det fungerer som slave i Hadoop-klyngen. I Hadoop HDFS er DataNode ansvarlig for lagring af faktiske data i HDFS. DataNode udfører også læse- og skriveoperationer efter anmodning til klienterne. DataNodes kan også implementeres på råvarehardware.

b. MapReduce

Hadoop MapReduce er databehandlingslaget i Hadoop. Den behandler store strukturerede og ustrukturerede data gemt i HDFS. MapReduce behandler også en enorm mængde data parallelt.

Det gør den ved at opdele jobbet (indsendt job) i et sæt selvstændige opgaver (underjob). I Hadoop fungerer MapReduce ved at opdele behandlingen i faser:Map og Reduce.

  • Kort – Det er den første fase af behandlingen, hvor vi specificerer al den komplekse logiske kode.
  • Reducer – Det er anden fase af behandlingen. Her specificerer vi letvægtsbehandling som aggregering/summation.

c. GARN

Hadoop YARN sørger for ressourcestyringen. Det er Hadoops styresystem. Så det er ansvarligt for at styre og overvåge arbejdsbelastninger, implementere sikkerhedskontroller. Det er en central platform til at levere datastyringsværktøjer på tværs af Hadoop-klynger.

YARN tillader flere databehandlingsmotorer såsom streaming i realtid, batchbehandling osv.

Komponenter af GARN:

  • Ressourcemanager –  Det er en komponent på klyngeniveau og kører på Master-maskinen. Derfor administrerer den ressourcer og planlægger applikationer, der kører på toppen af ​​YARN. Den har to komponenter:Scheduler &Application Manager.
  • Node Manager –  Det er en komponent på nodeniveau. Den kører på hver slavemaskine. Den kommunikerer løbende med Resource Manager for at forblive opdateret

d. Hive

Apache Hive er et open source-datavarehussystem, der bruges til at forespørge og analysere store datasæt gemt i Hadoop-filer. Det behandler strukturerede og semi-strukturerede data i Hadoop.

Hive understøtter også analyse af store datasæt gemt i HDFS, og også i Amazon S3-filsystemet understøttes af Hive. Hive bruger sproget kaldet HiveQL (HQL), som ligner SQL. HiveQL oversætter automatisk SQL-lignende forespørgsler til MapReduce-job.

e. Gris

Det er en sprogplatform på højt niveau udviklet til at udføre forespørgsler på enorme datasæt, der er gemt i Hadoop HDFS. PigLatin er et sprog brugt i pig, som minder meget om SQL.

Pig indlæser dataene, anvender de nødvendige filtre og dumper dataene i det påkrævede format. Pig konverterer også hele operationen til Map and Reduce-opgaver, som behandles effektivt på Hadoop.

Karakteristika for gris:

  • Udvidelig – Grisebrugere kan oprette brugerdefinerede funktioner for at opfylde deres særlige behandlingskrav.
  • Selvoptimerende –  Da Pig tillader systemet at optimere automatisk. Så brugeren kan fokusere på semantik.
  • Håndterer alle slags data –  Grise analyserer både struktureret og ustruktureret.

f. HBase

Apache HBase er NoSQL-database, der kører på toppen af ​​Hadoop. Det er en database, der gemmer strukturerede data i tabeller, der kan have milliarder af rækker og millioner af kolonner. HBase giver også realtidsadgang til at læse eller skrive data i HDFS.

Komponenter af HBase:

  • HBase Master – Det er ikke en del af den faktiske datalagring. Men den udfører administration (grænseflade til oprettelse, opdatering og sletning af tabeller.).
  • Regionsserver – Det er arbejderknudepunktet. Det håndterer læse, skrive, opdatere og slette anmodninger fra klienter. Regionsserveren kører også på hver node i Hadoop-klyngen.

g. HKatalog

Det er bord- og lagerstyringslag på toppen af ​​Apache Hadoop. HCatalog er en hovedkomponent i Hive. Derfor giver det brugeren mulighed for at gemme deres data i ethvert format og struktur. Det understøtter også forskellige Hadoop-komponenter til nemt at læse og skrive data fra klyngen.

Fordele ved HCatalog:

  • Giv synlighed for værktøjer til datarensning og arkivering.
  • Med tabelabstraktionen frigør Hcatalog brugeren fra overhead af datalagring.
  • Aktiverer meddelelser om datatilgængelighed.

i. Avro

Det er et open source-projekt, der leverer dataserialisering og dataudvekslingstjenester til Hadoop. Ved at bruge serialisering kan serviceprogrammer serialisere data til filer eller meddelelser.

Det gemmer også datadefinition og data sammen i én besked eller fil. Derfor gør dette det nemt for programmer dynamisk at forstå information, der er gemt i Avro-filen eller -meddelelsen.

Avro leverer:

  • Beholderfil, til at gemme vedvarende data.
  • Fjern procedurekald.
  • Rige datastrukturer.
  • Kompakt, hurtigt, binært dataformat.

j. Sparsommelighed

Apache Thrift er en softwareramme, der tillader skalerbar udvikling af tjenester på tværs af sprog. Thrift bruges også til RPC-kommunikation. Apache Hadoop laver mange RPC-kald, så der er mulighed for at bruge Thrift til ydeevne.

k. Bore

Boret bruges til databehandling i stor skala. Designet af øvelsen er at skalere til flere tusinde noder og forespørge petabytes af data. Det er også en distribueret forespørgselsmotor med lav latens til store datasæt.

Drillen er også den første distribuerede SQL-forespørgselsmotor, der har en skemafri model.

Egenskaber ved bor :

  • Driv decentraliserede metadata –  Drill har ikke centraliseret metadatakrav. Drill-brugere behøver ikke at oprette og administrere tabeller i metadata for at forespørge data.
  • Fleksibilitet – Drill giver hierarkisk søjleformet datamodel. Det kan repræsentere komplekse, meget dynamiske data og også tillade effektiv behandling.
  • Dynamisk skemaopdagelse – For at starte forespørgselsudførelsesprocessen kræver Drill ingen typespecifikation for data. I stedet begynder drill at behandle dataene i enheder kaldet record batches. Den opdager også skemaet under behandlingen.

l. Mahout

Det er en open source-ramme, der bruges til at skabe skalerbar maskinlæringsalgoritme. Når vi gemmer data i HDFS, leverer mahout de datavidenskabelige værktøjer til automatisk at finde meningsfulde mønstre i disse Big Data-sæt.

m. Sqoop

Det bruges hovedsageligt til at importere og eksportere data. Så det importerer data fra eksterne kilder til relaterede Hadoop-komponenter som HDFS, HBase eller Hive. Det eksporterer også data fra Hadoop til andre eksterne kilder. Sqoop arbejder med relationelle databaser som Teradata, Netezza, Oracle, MySQL.

n. Flume

Flume indsamler, aggregerer og flytter effektivt en stor mængde data fra dens oprindelse og sender dem tilbage til HDFS. Det har en meget enkel og fleksibel arkitektur baseret på streaming af datastrømme. Flume er fejltolerant, også en pålidelig mekanisme.

Flume tillader også flowdata fra kilden til Hadoop-miljøet. Den bruger en simpel udvidelsesbar datamodel, der giver mulighed for online analytisk applikation. Derfor kan vi ved at bruge Flume få data fra flere servere med det samme ind i Hadoop.

o. Ambari

Det er en open source-administrationsplatform. Det er en platform til klargøring, styring, overvågning og sikring af Apache Hadoop-klynge. Hadoop-administration bliver enklere, fordi Ambari leverer en ensartet, sikker platform til operationel kontrol.

Fordele ved Ambari:

  • Forenklet installation, konfiguration og administration –  Det kan nemt og effektivt oprette og administrere klynger i stor skala.
  • Centraliseret sikkerhedsopsætning –  Ambari konfigurerer klyngesikkerhed på tværs af hele platformen. Det reducerer også kompleksiteten at administrere.
  • Meget udvidelsesbar og tilpasselig –  Ambari kan udvides meget til at bringe tilpassede tjenester under administration.
  • Fuld synlighed i klyngesundhed – Ambari sikrer, at klyngen er sund og tilgængelig med en holistisk tilgang til overvågning.

s. Zookeeper

Zookeeper i Hadoop er en centraliseret service. Det vedligeholder konfigurationsoplysninger, navngivning og giver distribueret synkronisering. Det tilbyder også gruppetjenester. Zookeeper administrerer og koordinerer også en stor klynge af maskiner.

Fordele ved Zookeeper:

  • Hurtigt – zookeeper er hurtig med arbejdsbelastninger, hvor læsninger til data er mere almindelige end skrivninger. Det ideelle læse/skrive-forhold er 10:1.
  • Bestilte – zookeeper vedligeholder en registrering af alle transaktioner, som også kan bruges til højt niveau

q. Oooi

Det er et workflow-planlægningssystem til at administrere Apache Hadoop-job. Den kombinerer flere job sekventielt til én logisk arbejdsenhed.

Derfor er Oozie framework fuldt integreret med Apache Hadoop stack, YARN som et arkitekturcenter. Det understøtter også Hadoop-job til Apache MapReduce, Pig, Hive og Sqoop.

Oozie er skalerbar og også meget fleksibel. Man kan nemt starte, stoppe, suspendere og køre job igen. Derfor gør Oozie det meget nemt at køre fejlbehæftede arbejdsgange igen. Det er også muligt at springe en specifik mislykket node over.

Der er to grundlæggende typer af Oozie-job:

  • Oozie arbejdsgang –  Det er til at gemme og køre arbejdsgange sammensat af Hadoop-jobs, f.eks. MapReduce, Pig, Hive.
  • Oozie-koordinator –  Det kører workflowjob baseret på foruddefinerede tidsplaner og tilgængelighed af data.

Konklusion

Derfor leverer Hadoop Ecosystem forskellige komponenter, der gør det så populært. På grund af disse Hadoop-komponenter er flere Hadoop-jobroller tilgængelige nu.

Jeg håber, at denne Hadoop Ecosystem-tutorial hjælper dig meget med at forstå Hadoop-familien og deres roller. Hvis du finder en forespørgsel, så del gerne med os i kommentarfeltet.


  1. Er der nogen anbefalet værdi af COUNT for SCAN / HSCAN kommando i REDIS?

  2. Redis replikering og redis sharding (cluster) forskel

  3. MongoDB Kan ikke starte - ***afbrydelse efter fassert()-fejl

  4. Indlejret dokument vs reference i mongoose-designmodel?