what is hadoop apache hadoop tutorial
Denna Apache Hadoop-handledning för nybörjare förklarar allt om Big Data Hadoop, dess funktioner, ramverk och arkitektur i detalj:
hur gör du omvänd en array på plats i java?
I föregående handledning diskuterade vi Big Data i detalj. Nu är frågan hur vi kan hantera och bearbeta en så stor datamängd med tillförlitliga och exakta resultat.
Det finns verkligen en bra lösning som tillhandahålls av Apache och drivs av Java, dvs. Hadoop Framework .
=> Läs igenom Easy BigData Training Series.
Vad du kommer att lära dig:
Vad är Hadoop?
Apache Hadoop är en öppen källkodsram för att hantera alla typer av data (Structured, Unstructured och Semi-structured).
Som vi alla vet är RDBMS den bästa lösningen om vi vill bearbeta, lagra och hantera våra data. Men data bör vara i ett strukturerat format för att hantera det med RDBMS. Om storleken på data ökar kan RDBMS inte hantera den och vi måste utföra databasrensning regelbundet.
Detta kan orsaka historisk dataförlust och kan inte generera korrekta och tillförlitliga resultat i vissa branscher som väderprognos, bank, försäkring, försäljning etc. Ett annat problem med RDBMS är att om huvudservern går ner kan vi förlora våra viktiga data och lider mycket.
I den här handledningen kommer vi att se hur vi kan lösa dessa problem med Apache Hadoop.
Hadoop är ett distribuerat filsystem och kan lagra stora datamängder (data i petabyte och terabyte). Databehandlingshastigheten är också mycket snabb och ger tillförlitliga resultat eftersom den har ett mycket högt feltoleranssystem.
Hadoop är ett Java-baserat open source-programmeringsramverk som stöder lagring och bearbetning av stora datamängder i en distribuerad datormiljö.
Hadoop är baserat på ett Cluster-koncept som använder råvaruhårdvara. Det kräver ingen komplex konfiguration och vi kan skapa Hadoop-miljön med billigare, enkel och lätt konfigurationshårdvara.
Klusterkoncept med enkla ord är de data som lagras i replikeringsformat på flera datorer så att när något problem eller katastrof inträffar på en av platserna där data finns, måste det finnas en duplikatkopia av den informationen som är säker på en annan plats .
Hadoop mot RDMBS
Nedan listas några punkter som beskriver fördelarna med Hadoop jämfört med RDBMS.
Funktioner | Hadoop | RDBMS |
---|---|---|
Lagring | Mycket hög lagringskapacitet. | Det går inte att lagra Bigdata. |
Arkitektur | Hadoop är baserat på HDFS, MapReduce och YARN. | RDBMS är baserat på ACID-egenskaper. |
Volym | Kan hantera stora datamängder. | RDBMS kan inte hantera stora datamängder. |
Variation / typer av data | Kan hantera strukturerade, halvstrukturerade och ostrukturerade data som video, bilder, CSV-filer, xml etc. | Hantera endast strukturerad data. |
Hastighet | Snabb bearbetning av stora mängder data. | Mycket långsam vid bearbetning av stora mängder data. |
Genomströmning | Hög genomströmning. | Låg genomströmning. |
Feltolerans | Mycket bra | Kan inte återställa förlorade data om huvudservern går ner. |
Pålitlig | Mycket pålitlig och genererar korrekta historiska och aktuella rapporter. | Inte tillförlitligt när det gäller Bigdata. |
Hadoop-funktioner
Vi vet nu den exakta definitionen av Hadoop. Låt oss gå ett steg framåt och bli bekanta med de terminologier som vi använder i Hadoop, lära oss dess arkitektur och se hur exakt det fungerar på Bigdata.
Hadoop-ramverket är baserat på följande koncept eller moduler:
- Hadoop GARN
- Hadoop Common
- Hadoop HDFS ( H adoop D istribueras F med S ystem)
- Hadoop MapReduce
# 1) Hadoop GARN: GARN står för “ Y och TILL ingen annan R esource N egotiator ”som används för att hantera molnets klusterteknologi. Den används för schemaläggning av jobb.
# 2) Hadoop Common: Detta är de detaljerade biblioteken eller verktyg som används för att kommunicera med andra funktioner i Hadoop som YARN, MapReduce och HDFS.
# 3) Hadoop HDFS: Distribuerat filsystem används i Hadoop för att lagra och bearbeta en stor datamängd. Det används också för att komma åt data från klustret.
# 4) Hadoop MapReduce: MapReduce är huvudfunktionen i Hadoop som ansvarar för behandlingen av data i klustret. Det används för schemaläggning och övervakning av databehandling.
Här har vi precis inkluderat definitionen av dessa funktioner, men vi kommer att se en detaljerad beskrivning av alla dessa funktioner i våra kommande handledning.
Hadoop-arkitektur
Låt oss lära oss strukturen i ramverket och se vilka komponenter som används i den. Detta ramverk följer en master-slave-arkitektur i klustret.
Följande är Hadoop-komponenterna:
- HDFS
- MapReduce
- GARN
Det här är de tre viktiga komponenterna i Hadoop-arkitekturen. Vi bör också förstå några av terminologierna eller begreppen i arkitekturen och se hur de fungerar.
- Namnod
- Datanod
- Sekundärnamnod
- Block
# 1) Namnod
Namnod är huvudnoden i HDFS. Den innehåller metadata för HDFS som filinformation, katalogstruktur, blockinformation och all information från Data Node etc. Namnod är endast ansvarig för data eller filåtkomst från klienten. Den spårar alla transaktioner eller ändringar i filer.
Det fungerar främst på två filer, dvs. FsImage och EditLogs . Namnod har en JobTracker som innehåller alla detaljer i datanoden som vilken datanod som har vilken uppgift, hur många block som finns där med varje datanod, hjärtslag för varje datanod, uppgifter om jobbplanering i klustret etc.
Kort sagt kan vi säga att en JobTracker innehåller TaskTracker för varje datanod.
# 2) Datanod
Data Node är Slave Node i HDFS. Data Node ansvarar för den faktiska lagringen och behandlingen av data. Dess huvuduppgift är att dela upp jobbet i tre block och lagra det i olika datanoder. Efter det börjar behandlingen av data.
Dessutom har den TaskTracker som har fullständig information om varje block och vilket block som ansvarar för vilken uppgift, vilka block som har slutfört uppgiften, etc. och efter bearbetning av data skickar den informationen till Namnod. Varje gång datanoden startar skickar den all information igen till Namnod.
# 3) Sekundärnamnod
Sekundärnamnod används vid feltolerans. Det finns två scenarier där Namnod är nere och hela Hadoop-strukturen kommer att misslyckas eftersom Namnod är den enda felpunkten.
(i) Om Namnod startar om på grund av något problem än det tog för att komma upp igen eftersom det har en enorm mängd data, för att återställa att det tar tid.
(ii) I fall av krasch av Namnod kommer all HDFS-data att förlora och kan inte återställa den igen eftersom Namnod är den enda felpunkten. Således, för att övervinna dessa problem, är Secondary Name Node där. Den innehåller också en namnrymd avbildar och redigera loggar samma som namnet nod.
Efter en viss period kopieras namnet på avbildningen och uppdaterar redigeringsloggarna från namnnoden. I fallet med ett fel i Namnod kommer sålunda Sekundär Namnod in i bilden och beter sig som den primära Namnod. På grund av denna process förhindrar det total fel.
# 4) Block
Block är den minsta enheten i HDFS. Hadoop kan bearbeta en enorm mängd fil när den delar upp den i små block. Vi kan säga att block inte är annat än data för en enorm fil. Storleken på varje block är 128 MB. Dessa block sparas i datanoder och bearbetar data.
Låt oss nu lära oss Hadoop-arkitekturen för att förstå hur den fungerar.
Hadoop-distribuerade filsystem (HDFS) är det filsystem som används i Hadoop-klustret. HDFS används främst för att lagra Hadoop-data i klustret. HDFS arbetar vanligtvis med sekventiell databehandling. Som vi redan vet är det baserat på Master-Slave-arkitektur.
Alla metadata för klustret sparas i Namnod i JobTracker och den faktiska informationen lagras i Data Node för HDFS i TaskTracker.
MapReduce ansvarar för behandlingen av data. Närhelst någon fil kommer in i klustret för bearbetning delar den första datanoden den i block och varje block innehåller 64 MB data och det kan lagra 128 MB. Sedan kommer varje block att replikeras två gånger och lagras i olika datanoder var som helst i klustret.
All denna information kommer att skickas till Namnod och Namnod kommer att lagra denna information i form av metadata. Då startar den faktiska bearbetningen av data datanoden och skickar en hjärtslag till namnoden var tredje sekund så att namnenoden har den information som denna datanod arbetar med.
Om någon av datanoden misslyckas med att skicka hjärtslag skapar namnetod igen repliken för det blocket på en annan datanod och börjar bearbetas.
Al denna information eller ögonblicksbilder kommer att lagras i FsImage och om någon transaktion görs redigerar loggen den nya informationen och håller alltid en ny kopia av loggarna.
Blocket som avslutar uppgiften först kommer att tas och datanoden skickar information till Namnod och Namnod kommer att vidta åtgärderna i enlighet därmed.
Under hela processen kommer YARN att stödja och tillhandahålla nödvändiga resurser till systemet, så att det inte påverkar databehandling och hastighet. Efter bearbetning av data sparas resultaten i HDFS för vidare analys.
Slutsats
I denna handledning lärde vi oss vad som är Hadoop, skillnader mellan RDBMS vs Hadoop, fördelar, komponenter och arkitektur från Hadoop.
Denna ram är ansvarig för att bearbeta stora data och analysera den. Vi såg MapReduce, YARN och HDFS arbetar i klustret.
Notera: Följande är konfigurationsdetaljerna för Namnod och Datanod. Sekundärnamnod kommer att ha samma konfiguration som Namnod.
Namnodskonfiguration:
Processorer: 2 fyrkärniga processorer som kör @ 2 GHz
RAM: 128 GB
Disk: 6 x 1 TB SATA
Nätverk: 10 Gigabit Ethernet
Data Node Configuration:
Processorer: 2 fyrkärniga processorer som kör @ 2 GHz
RAM: 64 GB
Disk: 12-24 x 1 TB SATA
Nätverk: 10 Gigabit Ethernet
=> Ta en titt på Big Data Nybörjarguiden här.
Rekommenderad läsning
- Big Data Tutorial för nybörjare | Vad är Big Data?
- 20+ MongoDB-handledning för nybörjare: Gratis MongoDB-kurs
- Så här ställer du in Node.js Testing Framework: Node.js Tutorial
- Data Mart Tutorial - Typer, exempel och implementering av Data Mart
- Fördjupade förklaringar om förmörkelser för nybörjare
- Python-handledning för nybörjare (praktisk Python-träning)
- Datadriven ram i Selen WebDriver med hjälp av Apache POI
- LoadRunner-handledning för nybörjare (gratis 8-dagars djupkurs)