Uitleg over Hadoop Yarn
On december 9, 2021 by adminYARN – Yet Another Resource Negotiator, is een onderdeel van Hadoop 2-versie, is een van de twee belangrijkste onderdelen van Apache Hadoop (met HDFS). Het plant het gebruik van clusterbronnen en de behandelingen die op de gegevens worden toegepast.
Hierboven staat de basisarchitectuur van Yarn, waarbij Resource Manager het kernonderdeel van de hele architectuur is, dat verantwoordelijk is voor het beheer van bronnen zoals RAM’s, CPU’s en andere bronnen in het hele cluster. Application Master is verantwoordelijk voor het plannen van applicaties gedurende de gehele levenscyclus, Node Manager is verantwoordelijk voor de levering en isolatie van bronnen op deze node.
De Resource Manager: deze controleert het bronnenbeheer van het cluster, neemt ook toewijzingsbeslissingen. De resource manager heeft twee hoofdcomponenten: Scheduler en Applications Manager.
- De scheduler: wordt de YarnScheduler genoemd, die verschillende beleidslijnen voor het beheer van beperkingen zoals capaciteit, eerlijkheid en service level agreements mogelijk maakt.
- De Applications Manager: is verantwoordelijk voor het bijhouden van een lijst van ingediende toepassing. Nadat de aanvraag is ingediend door de klant, applicatiebeheerder eerst valideert of de aanvraag eis van middelen voor zijn toepassing master kan worden voldaan of niet.Als er voldoende middelen beschikbaar zijn dan is de aanvraag doorsturen naar scheduler anders aanvraag zal worden afgewezen.
De Node Manager: is verantwoordelijk voor de lancering en het beheer van containers op een knooppunt. Containers voeren taken uit zoals gespecificeerd door de AppMaster.
- De container: Geeft een toegewezen resources aan een AppMaster aan. ResourceManager is verantwoordelijk voor het uitgeven van resource/container aan een ApplicationMaster. en het verwijst naar een verzameling resources zoals geheugen, CPU, schijf en netwerk IO.
- De Application Master: is een instantie van een framework-specifieke bibliotheek die onderhandelt over resources van de Resource Manager en samenwerkt met de NodeManager om de toegekende resources (gebundeld als containers) voor een bepaalde applicatie uit te voeren en te bewaken. Een applicatie kan een mapreduce-job zijn, een hive-framework…
Stappen van het uitvoeren van applicaties met YARN:
- Een client dient een applicatie in bij de YARN ResourceManager.
- De ApplicationsManager (in de ResourceManager) onderhandelt over een container en bootstrapt de ApplicationMaster-instantie voor de toepassing.
- De ApplicationMaster registreert zich bij de ResourceManager en verzoekt om containers (RAM’s en CPU’s).
- De ApplicationMaster communiceert met NodeManagers om de toegekende containers te starten.
- De ApplicationMaster beheert de uitvoering van de applicatie. Tijdens de uitvoering verstrekt de applicatie voortgangs- en statusinformatie aan de ApplicationMaster. De client kan de status van de applicatie volgen door de ResourceManager te bevragen of door rechtstreeks met de ApplicationMaster te communiceren.
- De ApplicationMaster meldt voltooiing van de applicatie aan de ResourceManager.
- De ApplicationMaster ontregistreert zich bij de ResourceManager, die vervolgens de ApplicationMaster-container opruimt.
Yarn Scheduler :
De Scheduler heeft een pluggable beleid dat verantwoordelijk is voor het verdelen van de cluster resources over de verschillende wachtrijen, toepassingen, enz.
2. FIFO-planner
Geef een antwoord