Pochopení Hadoop Yarn
On 9 prosince, 2021 by adminYARN – Yet Another Resource Negotiator, je součástí verze Hadoop 2, je jednou ze dvou hlavních součástí Apache Hadoop (spolu s HDFS). Plánuje využití zdrojů clusteru i ošetření aplikovaná na data.
Výše je uvedena základní architektura Yarn, kde Resource Manager je základní komponentou celé architektury, která je zodpovědná za správu zdrojů včetně paměti RAM, procesorů a dalších zdrojů v celém clusteru. Application Master je zodpovědný za plánování aplikací v celém životním cyklu, Node Manager je zodpovědný za zásobování a izolaci zdrojů v tomto uzlu.
Správce zdrojů: řídí správu zdrojů clusteru, také rozhoduje o jejich přidělení. Správce prostředků má dvě hlavní součásti: Plánovač a Správce aplikací.
- Plánovač: se nazývá YarnScheduler, který umožňuje různé politiky pro správu omezení, jako je kapacita, spravedlnost a dohody o úrovni služeb.
- Správce aplikací: je zodpovědný za udržování seznamu předložených aplikací. Po odeslání aplikace klientem správce aplikací nejprve ověří, zda lze splnit požadavek aplikace na zdroje pro její předlohu, nebo ne, a pokud je k dispozici dostatek zdrojů, předá aplikaci plánovači, jinak bude odmítnuta.
Správce uzlů: je zodpovědný za spouštění a správu kontejnerů na uzlu. Kontejnery provádějí úlohy podle zadání správce aplikací.
- Kontejner: Označuje přidělené prostředky správci aplikací. ResourceManager je zodpovědný za přidělování prostředků/kontejnerů ApplicationMasteru. a označuje kolekci prostředků, jako je paměť, CPU, disk a síťové IO.
- Application Master: Je instance knihovny specifické pro daný framework, která vyjednává prostředky od ResourceManageru a spolupracuje s NodeManagerem na vykonávání a monitorování přidělených prostředků (sdružených jako kontejnery) pro danou aplikaci. Aplikací může být úloha mapreduce, framework hive…
Kroky spouštění aplikací pomocí YARN:
- Klient odešle aplikaci správci zdrojů YARN.
- Správce aplikací (v ResourceManageru) vyjedná kontejner a zavede instanci ApplicationMaster pro danou aplikaci.
- Správce ApplicationMaster se zaregistruje u správce ResourceManager a požádá o kontejnery(RAM a CPU).
- Správce ApplicationMaster komunikuje se správci uzlů, aby spustil kontejnery, které mu byly přiděleny.
- Správce ApplicationMaster řídí provádění aplikace. Během provádění aplikace poskytuje ApplicationMaster informace o průběhu a stavu. Klient může sledovat stav aplikace dotazováním Správce prostředků nebo přímou komunikací se Správcem aplikací.
- Správce aplikací hlásí Správci prostředků dokončení aplikace.
- Správce aplikací zruší registraci u Správce prostředků, který poté uklidí kontejner Správce aplikací.
Rozvrhovač přídělů :
Rozvrhovač má zásuvnou politiku, která je zodpovědná za rozdělení prostředků clusteru mezi různé fronty, aplikace atd.
2. Rozvrhovač přídělů se stará o rozdělení prostředků clusteru mezi různé fronty, aplikace atd. Plánovač FIFO
Plánovač FIFO je jednou z prvních strategií nasazení používaných systémem Hadoop a lze jej jednoduše interpretovat jako frontu Java. což znamená, že v clusteru může být současně pouze jedna úloha. Všechny aplikace jsou prováděny v pořadí, v jakém byly odeslány, a úloha po dokončení předchozí úlohy bude provedena v pořadí fronty.
Tento plánovač umožňuje krátkým aplikacím skončit v rozumném čase a zároveň nenechává hladovět dlouhotrvající aplikace.
2. Plánovač kapacity
Plánovač kapacity je zásuvný plánovač pro Hadoop, který umožňuje více nájemcům bezpečně sdílet velký cluster. Prostředky jsou aplikacím jednotlivých nájemců přidělovány způsobem, který plně využívá cluster a řídí se omezeními přidělených kapacit.
Kvóty obvykle nastavují správci tak, aby odrážely ekonomiku sdíleného clusteru. Plánovač kapacit podporuje hierarchické fronty, které zajišťují sdílení zdrojů mezi dílčími frontami organizace předtím, než je jiným frontám umožněno využívat volné zdroje.
3. Spravedlivý plánovač
Spravedlivý plánovač je zásuvný plánovač pro Hadoop, který umožňuje aplikacím YARN spravedlivě sdílet zdroje ve velkém clusteru. Spravedlivé plánování je metoda přidělování prostředků aplikacím tak, aby všechny aplikace v průběhu času získaly v průměru stejný podíl prostředků.
.
Napsat komentář