Úvod do architektury Hadoop YARN
MapReduce byl použit k provádění správy a zpracování prostředků v dřívější verzi Hadoop 1.0. Zde Job Jober provedl přidělování zdrojů, plánování a monitorování úloh přiřazením map a omezením úkolů na Tracker. To mělo za následek problémy, jako je škálovatelnost, neefektivní využití zdrojů. Protože rámec Hadoop prošel v průběhu let několika změnami; vidíme, že lze použít k provádění mnohem více, než jen ke spuštění úloh MapReduce. YARN je zkratka pro ještě jiný prostředek pro vyjednávání zdrojů, který se nazývá systém správy clusterů Hadoop, který byl představen s Hadoop 2.0 pro podporu distribuovaného zpracování dat, což také zlepšuje implementaci MapReduce. V YARN jsou správce zdrojů a plánovače externí pro rámec. Takže v roce YARN, i když máme datové uzly, již neexistují nástroje Sledování úloh ani Sledování úloh. Také s YARN můžeme mít správu zdrojů a generické plánování. V tomto tématu se dozvíme o různé architektuře YARN
Vysvětlete Hadoop YARN architekturu s diagramem
(Architektura Hadoop YARN)
YARN představuje v Hadoop 2.0 koncept Resource Manager a Application Master. Správce prostředků vidí využití prostředků v klastru Hadoop, zatímco na životní cyklus aplikací, které jsou spuštěny v určitém klastru, dohlíží správce aplikací. V zásadě lze říci, že v případě prostředků klastru vyjednává Správce aplikací se Správcem prostředků. Tuto úlohu provádějí kontejnery, které obsahují určitá omezení paměti. Pak se tyto kontejnery používají ke spuštění procesů specifických pro aplikaci a také na tyto kontejnery dohlíží správce uzlů, kteří běží na uzlech v clusteru. Tím se potvrdí, že aplikace používá pouze přidělené prostředky.
Různé komponenty YARN
Níže jsou uvedeny různé součásti YARN.
1) Správce zdrojů
YARN pracuje prostřednictvím Správce zdrojů, což je jeden na uzel a Správce uzlů, který běží na všech uzlech. Správce prostředků spravuje prostředky používané v klastru a Správce uzl oběduje a sleduje kontejnery. Plánovač a Správce aplikací jsou dvě součásti Správce zdrojů.
- Plánovač : Plánování se provádí na základě požadavků na zdroje aplikací. YARN poskytuje několik plánovačů na výběr a jsou spravedlivé a kapacitní plánovače. V případě selhání hardwaru nebo aplikace plánovač nezaručuje restartování neúspěšných úkolů. Plánovač také přiděluje prostředky spuštěným aplikacím na základě kapacity a fronty.
- Správce aplikací : Spravuje chod aplikace Master v klastru a při selhání kontejneru Application Master Container pomáhá při jeho restartování. Rovněž nese odpovědnost za přijetí zadávání pracovních míst.
2) Správce uzlů
Správce uzlů je zodpovědný za provedení úlohy v každém datovém uzlu. Správce uzlů ve výchozím nastavení YARN standardně odešle prezenční signál do Správce zdrojů, který nese informace o spuštěných kontejnerech a o dostupnosti zdrojů pro nové kontejnery. Je zodpovědný za individuální sledování uzlů v klastru a řídí pracovní tok a uživatelské úlohy v konkrétním uzlu. Spravuje hlavně aplikační kontejnery, které jsou přiřazeny Správcem zdrojů. Správce uzlů spustí kontejnery vytvořením procesů kontejneru, které jsou požadovány, a také zabije kontejnery podle požadavku správce zdrojů.
3) Kontejnery
Kontejnery jsou sada zdrojů, jako je RAM, CPU a paměť atd. Na jednom uzlu a jsou naplánovány Správcem zdrojů a monitorovány Správcem uzlů. Životní cyklus kontejneru řídí kontejnery YARN pomocí kontextu spuštění kontejneru a poskytuje přístup k aplikaci pro konkrétní využití zdrojů v konkrétním hostiteli.
4) Master aplikace
Sleduje provádění úkolů a také řídí životní cyklus aplikací spuštěných v klastru. Když je jednotlivá předloha aplikace přiřazena k úloze, když je odeslána do rámce. Jeho hlavní odpovědností je vyjednat zdroje od správce zdrojů. Monitorování a provádění úkolů spolupracuje s Správcem uzlů.
Aby bylo možné spustit aplikaci přes YARN, jsou provedeny níže uvedené kroky.
- Klient kontaktuje správce zdrojů, který požaduje spuštění procesu aplikace, tj. Odešle aplikaci YARN.
- Dalším krokem je, že Správce prostředků vyhledá Správce uzlů, který zase spustí hlavní aplikaci v kontejneru.
- Aplikační kmen může buď spustit spuštění v kontejneru, ve kterém je aktuálně spuštěn, a poskytnout výsledek klientovi, nebo může od správce prostředků požadovat více kontejnerů, které lze nazvat distribuovaným výpočtem.
- Klient poté kontaktuje správce zdrojů, aby sledoval stav aplikace.
S MapReduce v Hadoop verze 1.0 (MRV1) byl definován počet map a redukčních slotů na uzel. Také v klastru Hadoop, protože hardwarové možnosti se lišily a počet úkolů na konkrétním uzlu je třeba ručně omezit. S YARN je však tento nedostatek překonán, protože zde Správce zdrojů ví o kapacitě každého uzlu, protože komunikuje se Správcem uzlů, který běží na každém uzlu.
Závěr - Hadoop YARN Architecture
YARN pomáhá při překonávání škálovatelnosti problému MapReduce v Hadoop 1.0, protože rozděluje práci Job Trackeru, a to jak rozvrhování úloh, tak sledování průběhu úkolů. Problém dostupnosti je také překonán, protože dříve v Hadoop 1.0 selhala Job Tracker k restartování úkolů. YARN přišel s mnoha přidanými bonusy, jako je lepší využití zdrojů, protože neexistuje žádný pevný slot pro úkoly, protože zajišťuje centrální správu zdrojů. S YARN je tedy překonáno mnoho problémů, se kterými se setkáváme v předchozí verzi Hadoop, protože pomáhá oddělit zpracování dat od plánování a správy zdrojů. S YARN je možné nezávisle spouštět interaktivní dotazy a poskytovat lepší analýzu v reálném čase.
Doporučené články
Toto byl průvodce architekturou Hadoop YARN. Zde diskutujeme různé komponenty YARN, které zahrnují Správce zdrojů, Správce uzlů a Kontejnery spolu s architekturou. Další informace naleznete také v dalších navrhovaných článcích -
- Ekosystém Apache Hadoop
- Komponenty ekosystému Hadoop
- Hadoop Components
- Hadoop Ekosystém