Uitleg over Hadoop Yarn
On december 9, 2021 by admin
YARN – 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

De FIFO-planner is een van de vroegste implementatiestrategieën die door Hadoop worden gebruikt, en kan eenvoudig worden geïnterpreteerd als een Java-wachtrij. wat betekent dat er slechts één taak tegelijkertijd in het cluster kan zijn. Alle toepassingen worden uitgevoerd in de volgorde van indiening, en de Job na de voltooiing van de vorige Job wordt uitgevoerd in de volgorde van de wachtrij.
Deze scheduler laat korte toepassingen eindigen in een redelijke tijd, terwijl langlevende toepassingen niet worden uitgehongerd.
2. Capaciteitsplanner
De capaciteitsplanner is een pluggable planner voor Hadoop waarmee meerdere tenants veilig een groot cluster kunnen delen. Hulpbronnen worden aan de toepassingen van elke tenant toegewezen op een manier die het cluster volledig benut, met inachtneming van de beperkingen van de toegewezen capaciteiten.
Queues worden doorgaans door beheerders ingesteld om de economische aspecten van het gedeelde cluster weer te geven. De capaciteitsplanner ondersteunt hiërarchische wachtrijen om ervoor te zorgen dat bronnen worden gedeeld tussen de subwachtrijen van een organisatie voordat andere wachtrijen vrije bronnen mogen gebruiken.
3. Eerlijke planner

De Eerlijke planner is een pluggable planner voor Hadoop waarmee YARN-toepassingen bronnen in een groot cluster eerlijk kunnen delen. Eerlijk roosteren is een methode voor het toewijzen van resources aan toepassingen, zodat alle toepassingen in de loop van de tijd gemiddeld een gelijk deel van de resources krijgen.
Geef een antwoord