Video: hadoop yarn architecture 2024
Till skillnad från andra GARN (ännu en resursförhandlare) -komponenter, har ingen komponent i Hadoop 1 kartor direkt till Application Master. I huvudsak är detta arbete som JobTracker gjorde för varje applikation, men genomförandet är radikalt annorlunda.
Varje applikation som körs på Hadoop-klustret har sin egen, dedikerade Application Master-instans, som faktiskt körs i en behållarprocess på en slavnod (jämfört med JobTracker, som var en enda demon som sprang på en huvudnod och spårade framstegen i alla applikationer).
Under hela sitt liv (till exempel när applikationen körs) skickar applikationsmästaren hjärtslagsmeddelanden till resurshanteraren med status och tillståndet för programmets resursbehov. Baserat på resultaten från resurshanterarens schemaläggning tilldelas det containerresurshyror - i princip reservationer för behållarnas behållarebehov - till applikationsmästaren på specifika slavnoder.
Applikationsmästaren övervakar hela livscykeln för en applikation, hela vägen från att begära behövliga behållare från resurshanteraren för att skicka in begäran om containerhyra till NodeManager.
Varje applikationsram som är skrivet för Hadoop måste ha ett eget Application Master-genomförande. MapReduce har till exempel en specifik Application Master som är utformad för att utföra kartuppgifter och minska uppgifter i följd.