Att hantera massor av data kräver ett speciellt arrangemang. Vanliga beräkningstekniker är otillräckliga för att hantera en sluss av data, mer än när de kommer från flera källor. I Big Data är storleken vi talar om enorm – mätt i zettabyte, exabyte eller miljontals petabyte eller miljarder terabyte. Ramverket som heter Hadoop används populärt för att hantera några av problemen med Big Data-hantering. Den här artikeln försöker ge en inledande idé om Hadoop i ljuset av Big Data.
Evolution
Inget händer med en stor smäll. Ursprunget och utvecklingen av Hadoop är gradvis och enligt tidens behov för att hantera Big Data. För att kort säga, det har sitt ursprung till Doug Cuttings Apache Nutch-projekt år 2003, särskilt i början av koddelen av det. Uppkomsten utvecklades från Google File System (GFS), en artikel som publicerades i oktober 2003, som påverkade en annan artikel som heter MapReduce:Simplified Data Processing on Large Clusters. Koden för HDFS i Hadoop har tagits bort från Apache Nutch-projektet 2006 och är starkt påverkad av GFS- och MapReduce-algoritmerna. Och det faktum att namnet "Hadoop" kom från Cuttings sons uppstoppade elefantleksak resonerar tydligt tanken att det finns en elefant i rummet som Hadoop uppenbarligen vill ta itu med eller ta itu med.
I ett nötskal
Idag har Hadoop växt från sin monolitiska början till att vara ett mjukvarubibliotek, ett ramverk för att utveckla applikationer som kräver distribuerad bearbetning av enorma mängder data som ligger över kluster av datorer med hjälp av enkla programmeringsmodeller. Den kan skalas upp från en enda server till tusentals maskiner. Tanken är att distribuera beräkningar och lagring över flera datorer för att utnyttja behandlingen av stora uppsättningar data. Biblioteket har förmågan att upptäcka fel på nivån av applikationslagret så att programmeraren kan hantera dem och leverera service ovanpå ett kluster av datorer istället för att genomsyra felet till en eller flera lägre nivåer där det blir svårare att hantera eller övervinna.
Hadoop är därför en kombination av verktyg och bibliotek med öppen källkod som stöds av Apache för att skapa applikationer för distribuerad datoranvändning som är mycket tillförlitlig och skalbar.
Hur det fungerar
Det finns tre sätt Hadoop i princip hanterar Big Data:
- Det första problemet är lagring. Data lagras i flera datorer i en distribuerad miljö där de kan behandlas parallellt för att minska tid och resurser. Data finns kvar i en miljö som kallas Hadoop Distributed File System (HDFS) , som används för att lagra data i flera format över kluster av maskiner. För detta ändamål delar den in data i block och lagrar den över olika datanoder. Den använder en teknik som kallas horisontell skalning att lägga till extra datanoder till befintliga HDFS-kluster enligt kravet. Detta maximerar utnyttjandet av befintliga resurser istället för att lägga till en närhelst behovet av att skala upp uppstår.
- Den andra frågan är att tillgodose mångfalden av data. HDFS är utrustad för att lagra alla typer av data, vare sig det är strukturerad, semi-strukturerad eller ostrukturerad. Det finns ingen pre-dumping schemavalidering. När data väl skrivits kan den läsas flera gånger utan problem.
- Den tredje frågan handlar om bearbetning och hur man kommer åt lagrad data. I detta avseende kommer MapReduce-algoritmen till undsättning, där bearbetning fördelas över slavnoder för att arbeta parallellt och resultatet skickas tillbaka till masternoden. Masternoden slår samman resultaten innan det slutliga resultatet tillhandahålls. Denna del hanteras av YARN, som är designad för parallell bearbetning av data lagrad i HDFS.
Det finns många intrikata delar av det, men detta är vad Hadoop gör i ett nötskal. Idén med moduler skulle ge ytterligare insikt.
Moduler
Apache Hadoop Project består av sex moduler. De fyra första är följande:
- Hadoop Common :Detta består av verktyg som vanligtvis används av Hadoop och stöder andra Hadoop-moduler. Den är också känd som Hadoop Core och är en viktig del av ekosystemet, tillsammans med HDFS, YARN och MapReduce. Det är i den här delen som Hadoop förutsätter att hårdvaran är benägen att misslyckas och alla nödvändiga medel tillhandahålls för en programmerare att automatiskt hantera fel i programvaran.
- Hadoop Distributed File System (HDFS) :Ett distribuerat filsystem som kan ta emot en mängd olika filer i en distribuerad miljö. Den delar upp filerna i block och lagrar dem över noder i en distribuerad arkitektur. Det ger horisontell skalning istället för vertikal skalning, för ytterligare klustring. Den är mycket feltolerant och låg kostnad när det gäller maskinvarudistribution.
- Hadoop-GARN :Detta är processorn för Hadoop-ramverket. Med två huvudkomponenter, kallade NodeManager och ResourceManager , YARN utför alla bearbetningsaktiviteter såsom resursallokering, uppgiftsschemaläggning och klusterhantering.
- Hadoop MapReduce :Detta är ett ramverk för att göra all parallell beräkning. MapReduce är en parallell programmeringsmodell för att bearbeta data i en distribuerad miljö. Den används idealiskt för att skriva distribuerade applikationer som effektivt kan bearbeta stora mängder data över kluster av råvaruhårdvara. Den delar upp processen i två faser, som kallas Karta och Minska , där uppgiften för Mapper klass är att ta indata, tokenisera, kartlägga och sortera den. Utdatan blir sedan indata till Reducer klass, som söker efter matchande par och minskar dem. Det finns nyckel-värdepar för input och output i varje fas, och typen av paret bestäms av programmeraren.
Två nya delprojekt har nyligen lagts till:
- Hadoop ozon :Det är en skalbar, redundant och distribuerad objektbutik för Hadoop. Förutom att skala till miljarder objekt av varierande storlek, kan ozon fungera effektivt i containermiljöer som Kubernetes och YARN. Den är byggd på ett mycket tillgängligt, replikerat blocklagringslager som heter Hadoop Distributed Data Store (HDDS) . [Ett utdrag. Klicka för att hitta mer.]
- Hadoop-ubåt :En maskininlärningsmotor för Hadoop. Det är ett projekt som låter en infraingenjör/datavetare köra applikationer för djupinlärning (Tensorflow, Pytorch, och så vidare) på en resurshanteringsplattform (som YARN). [Ett utdrag. Klicka för att hitta mer.]
Slutsats
Hadoop har haft en betydande inverkan på sökningar, i loggningsprocessen, i datalagring och Big Data-analys av många stora organisationer, som Amazon, Facebook, Yahoo, och så vidare. Det är en enda lösning för att lagra en enorm mängd data av alla slag, tillsammans med skalbar processorkraft för att utnyttja praktiskt taget obegränsade samtidiga jobb. Med några få ord, Hadoops popularitet beror mycket på dess feltoleranta, skalbara, kostnadseffektiva och snabba kapacitet.