Förståelse av Hadoop Yarn
On december 9, 2021 by adminYARN – Yet Another Resource Negotiator (ännu en resursförhandlare) är en del av Hadoop 2-versionen och är en av de två huvudkomponenterna i Apache Hadoop (tillsammans med HDFS). Den planerar användningen av klusterresurser samt de behandlingar som tillämpas på data.
Ovan är den grundläggande arkitekturen för Yarn, där Resource Manager är kärnkomponenten i hela arkitekturen, som är ansvarig för hanteringen av resurser, inklusive RAM, CPU:er och andra resurser i hela klustret. Application Master ansvarar för programplanering under hela livscykeln, Node Manager ansvarar för leverans och isolering av resurser på denna nod.
Resurshanteraren: den styr resurshanteringen av klustret, fattar också tilldelningsbeslut. Resurshanteraren har två huvudkomponenter: Schemaläggaren och applikationshanteraren.
- Schemaläggaren: kallas YarnScheduler, som tillåter olika policyer för hantering av begränsningar som kapacitet, rättvisa och servicenivåavtal.
- Applikationshanteraren: ansvarar för att upprätthålla en lista över inlämnade applikationer. När klienten har skickat in en ansökan validerar applikationshanteraren först och främst om applikationens krav på resurser för sin applikationsmaster kan uppfyllas eller ej. Om tillräckliga resurser finns tillgängliga vidarebefordras ansökan till schemaläggaren, i annat fall avvisas ansökan.
The Node Manager: ansvarar för att starta och hantera containrar på en nod. Containers utför uppgifter som anges av AppMaster.
- Containern: Betyder en tilldelad resurs till en ApplicationMaster. ResourceManager ansvarar för att utfärda resurser/behållare till en ApplicationMaster. och avser en samling resurser såsom minne, CPU, disk och nätverks-IO.
- ApplicationMaster: är en instans av ett ramspecifikt bibliotek som förhandlar resurser från ResourceManager och samarbetar med NodeManager för att exekvera och övervaka de beviljade resurserna (paketerade som behållare) för ett visst program. En applikation kan vara ett mapreduce-jobb, ett hive-ramverk…
Steg för att exekvera applikationer med YARN:
- En klient skickar in en applikation till YARN ResourceManager.
- ApplicationsManager (i ResourceManager) förhandlar fram en behållare och startar upp ApplicationMaster-instansen för applikationen.
- ApplicationMaster registrerar sig hos ResourceManager och begär behållare (RAM och CPU).
- ApplicationMaster kommunicerar med NodeManagers för att starta de behållare som den har beviljats.
- ApplicationMaster hanterar utförandet av applikationen. Under utförandet ger programmet framstegs- och statusinformation till ApplicationMaster. Klienten kan övervaka programmets status genom att fråga ResourceManager eller genom att kommunicera direkt med ApplicationMaster.
- ApplicationMaster rapporterar att programmet är avslutat till ResourceManager.
- ApplicationMaster avregistrerar sig hos ResourceManager, som sedan rensar ApplicationMasters behållare.
Yarn Scheduler :
Scheduler har en pluggable policy som ansvarar för att fördela klusterresurserna mellan de olika köerna, programmen etc.
2. FIFO-scheduler
F FIFO-scheduler är en av de tidigaste distributionsstrategierna som används av Hadoop, och kan helt enkelt tolkas som en Java-kö. vilket innebär att det bara kan finnas ett jobb i klustret samtidigt. Alla ansökningar exekveras i den ordning de lämnas in, och jobbet efter att det föregående jobbet avslutats exekveras i köens ordning.
Denna schemaläggare gör att korta ansökningar kan avslutas inom rimlig tid utan att svälta ut långlivade ansökningar.
2. Kapacitetsschemaläggaren
Kapacitetsschemaläggaren är en pluggable schemaläggare för Hadoop som gör det möjligt för flera hyresgäster att på ett säkert sätt dela ett stort kluster. Resurser tilldelas varje hyresgästs program på ett sätt som utnyttjar klustret fullt ut, styrt av begränsningarna för tilldelad kapacitet.
Köer ställs vanligtvis in av administratörer för att återspegla ekonomin i det delade klustret. Kapacitetsschemaläggaren har stöd för hierarkiska köer för att säkerställa att resurser delas mellan underköer i en organisation innan andra köer tillåts använda lediga resurser.
3. Rättvis schemaläggare
Den rättvisa schemaläggaren är en pluggbar schemaläggare för Hadoop som gör det möjligt för YARN-tillämpningar att dela resurser i ett stort kluster rättvist. Rättvis schemaläggning är en metod för att tilldela resurser till program så att alla program i genomsnitt får en lika stor andel av resurserna över tiden.
Lämna ett svar