Co je Hadoop?
Apache Hadoop je softwarový framework s otevřeným zdrojovým kódem používaný k vývoji aplikací pro zpracování dat, které jsou spouštěny v prostředí distribuovaných výpočtů.
Aplikace vytvořené pomocí HADOOP jsou spouštěny na velkých souborech dat distribuovaných napříč klastry komoditních počítačů. Komoditní počítače jsou levné a široce dostupné. Ty jsou užitečné zejména pro dosažení vyššího výpočetního výkonu při nízkých nákladech.
Podobně jako data uložená v místním systému souborů systému osobních počítačů, i v Hadoopu jsou data umístěna v distribuovaném systému souborů, který se nazývá systém distribuovaných souborů Hadoop . Model zpracování je založen na konceptu „Data Locality“, kde se výpočetní logika odesílá na uzly clusteru (server) obsahující data. Tato výpočetní logika není nic jiného, než kompilovaná verze programu napsaného v jazyce vyšší úrovně, jako je Java. Takový program zpracovává data uložená v Hadoop HDFS.
Víš? Počítačový klastr se skládá ze sady několika procesorových jednotek (úložný disk + procesor), které jsou navzájem propojeny a fungují jako jeden systém.
V tomto výukovém programu se naučíte,
- Hadoop EcoSystem a komponenty
- Architektura Hadoop
- Vlastnosti 'Hadoop'
- Topologie sítě v Hadoopu
Hadoop EcoSystem a komponenty
Níže uvedený diagram ukazuje různé komponenty v ekosystému Hadoop -
Apache Hadoop se skládá ze dvou dílčích projektů -
- Hadoop MapReduce: MapReduce je výpočetní model a softwarový rámec pro psaní aplikací, které běží na Hadoopu. Tyto programy MapReduce jsou schopny paralelně zpracovávat obrovská data na velkých klastrech výpočetních uzlů.
- HDFS ( Hadoop Distributed File System ): HDFS se stará o úložnou část aplikací Hadoop. Aplikace MapReduce spotřebovávají data z HDFS. HDFS vytváří více replik datových bloků a distribuuje je na výpočetních uzlech v klastru. Tato distribuce umožňuje spolehlivé a extrémně rychlé výpočty.
Ačkoli je Hadoop nejlépe známý pro MapReduce a jeho distribuovaný souborový systém - HDFS, tento termín se také používá pro rodinu souvisejících projektů, které spadají pod záštitu distribuovaných výpočtů a rozsáhlého zpracování dat. Mezi další projekty související s Hadoop v Apache patří Hive, HBase, Mahout, Sqoop, Flume a ZooKeeper.
Architektura Hadoop
Hadoop má architekturu Master-Slave pro ukládání dat a distribuované zpracování dat pomocí metod MapReduce a HDFS.
Název uzlu:
NameNode představoval všechny soubory a adresáře, které se používají v oboru názvů
DataNode:
DataNode vám pomůže spravovat stav uzlu HDFS a umožní vám interakci s bloky
MasterNode:
Hlavní uzel umožňuje provádět paralelní zpracování dat pomocí Hadoop MapReduce.
Slave uzel:
Podřízené uzly jsou další stroje v clusteru Hadoop, které vám umožňují ukládat data a provádět složité výpočty. Kromě toho je veškerý podřízený uzel vybaven sledovačem úloh a datovým uzlem. To vám umožní synchronizovat procesy s NameNode a Job Tracker.
V Hadoopu může být hlavní nebo podřízený systém nastaven v cloudu nebo na místě
Vlastnosti 'Hadoop'
• Vhodné pro analýzu velkých dat
Protože velká data mají tendenci být v přírodě distribuována a nestrukturována, k analýze velkých dat jsou nejvhodnější klastry HADOOP. Protože se jedná o zpracování logiky (nikoli skutečných dat), která proudí do výpočetních uzlů, spotřebovává se menší šířka pásma sítě. Tento koncept se nazývá koncept datové lokality, který pomáhá zvyšovat efektivitu aplikací založených na Hadoop.
• Škálovatelnost
Klastry HADOOP lze snadno škálovat v libovolném rozsahu přidáním dalších uzlů klastru, což umožňuje růst velkých dat. Změna měřítka také nevyžaduje úpravy logiky aplikace.
• Odolnost proti chybám
Ekosystém HADOOP má ustanovení o replikaci vstupních dat na další uzly clusteru. Tímto způsobem v případě selhání uzlu klastru může zpracování dat stále pokračovat pomocí dat uložených v jiném uzlu klastru.
Topologie sítě v Hadoopu
Topologie (uspořádání) sítě ovlivňuje výkon clusteru Hadoop, když velikost clusteru Hadoop roste. Kromě výkonu je třeba se také starat o vysokou dostupnost a řešení poruch. K dosažení tohoto Hadoopu využívá tvorba clusterů topologii sítě.
Šířka pásma sítě je obvykle důležitým faktorem, který je třeba vzít v úvahu při vytváření jakékoli sítě. Protože však měření šířky pásma může být obtížné, v Hadoopu je síť reprezentována jako strom a vzdálenost mezi uzly tohoto stromu (počet chmele) je považována za důležitý faktor při vytváření klastru Hadoop. Zde se vzdálenost mezi dvěma uzly rovná součtu jejich vzdálenosti od jejich nejbližšího společného předka.
Klastr Hadoop se skládá z datového centra, stojanu a uzlu, který ve skutečnosti provádí úlohy. Zde se datové centrum skládá ze stojanů a stojan se skládá z uzlů. Šířka pásma sítě dostupná pro procesy se liší v závislosti na umístění procesů. To znamená, že dostupná šířka pásma se zmenší, jakmile odejdeme z -
- Procesy ve stejném uzlu
- Různé uzly na stejném stojanu
- Uzly na různých regálech stejného datového centra
- Uzly v různých datových centrech