sql >> Databasteknik >  >> NoSQL >> HBase

Hadoop – En Apache Hadoop-tutorial för nybörjare

Huvudmålet med denna Hadoop Handledningen är att beskriva varje aspekt av Apache Hadoop Framework. I grund och botten är den här handledningen utformad på ett sätt så att det skulle vara lätt att lära sig Hadoop från grunderna.

I den här artikeln kommer vi att göra vårt bästa för att svara på frågor som vad är Big data Hadoop, Vad är behovet av Hadoop, vad är historien om Hadoop, och slutligen fördelar och nackdelar med Apache Hadoop ramverk.

Vår förhoppning är att du efter att ha läst den här artikeln kommer att ha en klar förståelse för vad ett Hadoop-ramverk är.

Vad är Hadoop?

Det är ett ramverk för öppen källkod för distribuerad lagring och bearbetning av enorma mängder datamängder. Öppen källkod innebär att den är fritt tillgänglig och även vi kan ändra dess källkod enligt dina krav.

Det gör det också möjligt att köra applikationer på ett system med tusentals noder. Det distribuerade filsystemet erbjuder snabba dataöverföringshastigheter mellan noder. Det låter också systemet fortsätta att fungera i händelse av nodfel.

Hadoop tillhandahåller-

  • Lagringsskiktet – HDFS
  • Satsbearbetningsmotor – MapReduce
  • Resurshanteringslager – GARN

Hadoop – Historia

2003 lanserar Google projektet Nutch att hantera miljarder sökningar. Även för att indexera miljontals webbsidor. I oktober 2003 publicerade Google GFS (Google File System) papper, från det papper som Hadoop härstammar från.

2004 släppte Google papper med MapReduce . Och 2005 använde Nutch GFS och MapReduce för att utföra operationer.

2006, datavetare Doug Cutting och Mike Cafarella  skapade Hadoop. I februari 2006 gick Doug Cutting med i Yahoo . Detta gav resurser och det dedikerade teamet för att förvandla Hadoop till ett system som kördes i webbskala. 2007 började Yahoo använda Hadoop på ett kluster med 100 noder.

I januari 2008 gjorde Hadoop sitt eget toppprojekt på Apache, vilket bekräftar dess framgång. Många andra företag använde Hadoop förutom Yahoo!, som New York Times och Facebook.

I april 2008 slog Hadoop ett världsrekord för att bli det snabbaste systemet för att sortera en terabyte data. Körs på ett 910-nodskluster, sorterade en terabyte på 209 sekunder.

I december 2011 släppte Apache Hadoop version 1.0. I augusti 2013 var version 2.0.6 tillgänglig. Senare i juni 2017 är Apache Hadoop 3.0.0-alpha4 tillgänglig. ASF (Apache Software Foundation) hanterar och underhåller Hadoops ramverk och ekosystem av teknologier.

Varför Hadoop?

När vi har lärt oss introduktionen, nu ska vi lära oss vad Hadoop behöver?

Det dök upp som en lösning på "Big Data ” problem-

a. Lagring för Big Data – HDFS löste detta problem. Den lagrar Big Data på distribuerat sätt. HDFS lagrar också varje fil som block. Block är den minsta dataenheten i ett filsystem.

Anta att du har 512 MB data. Och du har konfigurerat HDFS så att det kommer att skapa 128 Mb datablock. Så HDFS delar upp data i fyra block (512/128=4) och lagrar den över olika datanoder. Den replikerar också datablocken på olika datanoder.

Därför är det ingen utmaning att lagra big data.

b. Skalbarhet – Det löser också Skalningsproblemet. Den fokuserar främst på horisontell skalning snarare än vertikal skalning. Du kan lägga till extra datanoder till HDFS-klustret vid behov. Istället för att skala upp resurserna för dina datanoder.

Därmed förbättras prestandan dramatiskt.

c. Lagra olika data  – HDFS löste detta problem. HDFS kan lagra alla typer av data (strukturerad, semi-strukturerad eller ostrukturerad). Det följer också skriv en gång och läs många modeller .

På grund av detta kan du skriva vilken typ av data som helst en gång och du kan läsa den flera gånger för att hitta insikter.

d. Databehandlingshastighet  – Detta är det stora problemet med big data. För att lösa detta problem, flytta beräkning till data istället för data till beräkning. Denna princip är Datalokalitet .

Hadoop Core Components

Nu ska vi lära oss Apache Hadoop-kärnkomponenten i detalj. Den har 3 kärnkomponenter-

  • HDFS
  • MapReduce
  • GARN(Yet Another Resource Negotiator)

Låt oss diskutera dessa kärnkomponenter en efter en.

a. HDFS

Hadoop distribuerade filsystem (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 mindre antal stora filer snarare än det enorma antalet små filer.

Lagrar data tillförlitligt även vid hårdvarufel. Den ger åtkomst till applikationen med hög genomströmning genom parallell åtkomst.

Komponenter i HDFS:

  • NameNode – Det fungerar som Master i klustret. Namenode lagrar metadata . Ett antal block, repliker och andra detaljer. Metadata finns i minnet i mastern. NameNode underhåller och hanterar även slavnoderna och tilldelar uppgifter till dem. Det bör distribueras på tillförlitlig hårdvara eftersom det är mittpunkten i HDFS.
  • DataNode –  Den fungerar som slav i klustret. I HDFS är DataNode ansvarig för att lagra faktiska data i HDFS. DataNode utför läs- och skrivoperationer enligt begäran för klienterna. DataNodes kan också distribueras på råvaruhårdvara.

b. MapReduce

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). MapReduce fungerar genom att dela upp bearbetningen i faser:Map och 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

YARN tillhandahåller resurshanteringen. Det är operativsystemet för Hadoop. Den ansvarar för att hantera och övervaka arbetsbelastningar, även implementera säkerhetskontroller. Apache YARN är också en central plattform för att leverera datastyrningsverktyg över klustren.

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. Den hanterar 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

Fördelar med Hadoop

Låt oss nu diskutera olika Hadoop-fördelar för att lösa big data-problemen.

  • Skalbarhet – Genom att lägga till noder kan vi enkelt utöka vårt system för att hantera mer data.
  • Flexibilitet –   I detta ramverk behöver du inte förbehandla data innan du lagrar den. Du kan lagra så mycket data du vill och bestämma hur du ska använda senare.
  • Låg kostnad –  Ramverk med öppen källkod är gratis och körs på lågkostnadsvara för hårdvara.
  • Feltolerans –  Om noder går ner omdirigeras jobb automatiskt till andra noder.
  • Datorkraft – Det är  distribuerad datormodell bearbetar big data snabbt. Ju fler datornoder du använder mer processorkraft har du.

Nackdelar med Hadoop

Några nackdelar med Apache Hadoop Framework ges nedan-

  • Säkerhetsproblem – Det kan vara utmanande att hantera den komplexa applikationen. Om användaren inte vet hur man aktiverar plattformen som hanterar plattformen, kan din data vara en stor risk. Eftersom Hadoops lagrings- och nätverksnivåer saknar kryptering, vilket är ett stort problem.
  • Sårbar av naturen –  Ramverket är skrivet nästan i java, det mest använda språket. Java utnyttjas hårt av cyberbrottslingar. Som ett resultat inblandad i många säkerhetsintrång.
  • Ej lämplig för små data – Eftersom det inte är lämpligt för små data. Därför saknar den förmågan att effektivt stödja slumpmässig läsning av små filer.
  • Möjliga stabilitetsproblem –  Eftersom det är ett ramverk med öppen källkod. Det betyder att det skapas av många utvecklare som fortsätter att arbeta med projektet. Medan ständiga förbättringar görs, har den stabilitetsproblem. För att undvika dessa problem bör organisationer köra på den senaste stabila versionen.

Slutsats

Sammanfattningsvis kan vi säga att det är det mest populära och kraftfulla Big data-verktyget. Den lagrar enorma mängder data på ett distribuerat sätt.

Och bearbetar sedan data parallellt på ett kluster av noder. Det ger också världens mest pålitliga lagringslager - HDFS. Batchbearbetningsmotor MapReduce och resurshanteringslager- YARN.

Därför säkerställer dessa demoner Hadoop-funktionalitet.


  1. MongoDB/NoSQL:Behåller dokumentändringshistorik

  2. Hur man testar selleri med django på en Windows-maskin

  3. Felmeddelande:MongoError:dålig autentisering Misslyckades via URI-strängen

  4. Hur torkar man Heroku Redis?