Inleiding tot Hadoop YARN Architecture
MapReduce werd gebruikt om zowel resource management als verwerking uit te voeren in de eerdere Hadoop versie 1.0. Hier voerde Job Tracker resourcetoewijzing, planning en monitoringtaken uit door toewijzing van kaarten en taken terug te brengen naar Task Tracker. Dit resulteerde in problemen als schaalbaarheid, inefficiënt gebruik van middelen. Omdat het Hadoop-raamwerk in de loop der jaren verschillende veranderingen heeft ondergaan; we kunnen zien dat het kan worden gebruikt om veel meer uit te voeren dan alleen het uitvoeren van de MapReduce-taken. YARN staat voor Yet Another Resource Negotiator dat het clusterbeheersysteem van Hadoop wordt genoemd en dat met Hadoop 2.0 is geïntroduceerd ter ondersteuning van gedistribueerd computergebruik dat ook de implementatie van MapReduce verbetert. In YARN zijn de resource manager en planners extern van het framework. Dus hoewel we in YARN dataknooppunten hebben, zijn er niet langer Task Trackers of Job Trackers. Ook met YARN kunnen we zowel Resource Management als Generic Scheduling hebben. In dit onderwerp gaan we meer te weten komen over de verschillende architectuur van YARN
Verklaar Hadoop YARN-architectuur met diagram
(Architectuur van Hadoop YARN)
YARN introduceert het concept van een Resource Manager en een Application Master in Hadoop 2.0. De Resource Manager ziet het gebruik van de bronnen in het Hadoop-cluster, terwijl de levenscyclus van de applicaties die op een bepaald cluster worden uitgevoerd, wordt gecontroleerd door de Application Master. Kort gezegd kunnen we stellen dat de Application Master voor clusterresources onderhandelt met de Resource Manager. Deze taak wordt uitgevoerd door de containers die duidelijke geheugenbeperkingen bevatten. Vervolgens worden deze containers gebruikt om de applicatiespecifieke processen uit te voeren en ook deze containers worden bewaakt door de Node Managers die op knooppunten in het cluster worden uitgevoerd. Dit bevestigt dat niet meer dan de toegewezen middelen door de toepassing worden gebruikt.
Verschillende componenten van YARN
Hieronder staan de verschillende componenten van YARN.
1) Bronbeheer
YARN werkt via een Resource Manager die één is per knooppunt en Node Manager die op alle knooppunten draait. De Resource Manager beheert de bronnen die in het cluster worden gebruikt en de Node Manager luncht en bewaakt de containers. Scheduler en Application Manager zijn twee componenten van Resource Manager.
- Planner : planning wordt uitgevoerd op basis van de vereiste middelen door de applicaties. YARN biedt weinig planners om uit te kiezen en ze zijn Fair en Capacity Scheduler. In het geval van hardware- of applicatiefouten zorgt de planner er niet voor dat de mislukte taken opnieuw worden gestart. Planner wijst ook middelen toe aan de actieve applicaties op basis van de capaciteit en wachtrij.
- Application Manager : het beheert de uitvoering van Application Master in een cluster en bij het falen van de Application Master Container helpt het bij het opnieuw opstarten. Het draagt ook de verantwoordelijkheid om de indiening van de banen te aanvaarden.
2) Node Manager
Node Manager is verantwoordelijk voor de uitvoering van de taak in elk dataknooppunt. De Node Manager in YARN stuurt standaard een hartslag naar de Resource Manager die de informatie van de actieve containers en de beschikbaarheid van resources voor de nieuwe containers bevat. Het is verantwoordelijk voor het individueel zorgen voor de knooppunten in het cluster en beheert de workflow en gebruikersopdrachten op een specifiek knooppunt. Hoofdzakelijk beheert het de applicatiecontainers die worden toegewezen door de Resource Manager. De Node Manager start de containers door de gevraagde containerprocessen te maken en het doodt ook de containers zoals gevraagd door de Resource Manager.
3) Containers
De Containers zijn bronnen zoals RAM, CPU en geheugen enz. Op een enkel knooppunt en ze worden ingepland door Resource Manager en bewaakt door Node Manager. De Container Life Cycle beheert de YARN-containers met behulp van de containerlanceringscontext en biedt toegang tot de toepassing voor het specifieke gebruik van bronnen in een bepaalde host.
4) Applicatiemaster
Het bewaakt de uitvoering van taken en beheert ook de levenscyclus van applicaties die op het cluster worden uitgevoerd. Een individuele Application Master wordt geassocieerd met een taak wanneer deze wordt ingediend bij het framework. De hoofdverantwoordelijkheid is om te onderhandelen over de middelen van de Resource Manager. Het werkt met de Node Manager om de taken te controleren en uit te voeren.
Om een applicatie via YARN uit te voeren, worden de onderstaande stappen uitgevoerd.
- De client neemt contact op met de Resource Manager die vraagt om het applicatieproces uit te voeren, dat wil zeggen dat hij de YARN-applicatie indient.
- De volgende stap is dat de Resource Manager zoekt naar een Node Manager die op zijn beurt de Application Master in een container start.
- De Application Master kan de uitvoering uitvoeren in de container waarin deze momenteel wordt uitgevoerd en het resultaat aan de client verstrekken of kan meer containers aanvragen bij resource manager die gedistribueerde computing kunnen worden genoemd.
- De client neemt vervolgens contact op met Resource Manager om de status van de toepassing te controleren.
Met MapReduce in Hadoop versie 1.0 (MRV1) werd het aantal kaarten en slots bepaald per knooppunt. Ook in een Hadoop-cluster, omdat de hardwaremogelijkheden varieerden en het aantal taken op een specifiek knooppunt handmatig moest worden beperkt. Maar met YARN wordt deze tekortkoming verholpen omdat hier de Resource Manager op de hoogte is van de capaciteit van elk knooppunt omdat deze communiceert met de Node Manager die op elk knooppunt draait.
Conclusie - Hadoop YARN Architecture
YARN helpt bij het overwinnen van het probleem van de schaalbaarheid van de MapReduce in Hadoop 1.0, omdat het het werk van Job Tracker verdeelt, zowel van taakplanning als het bewaken van de voortgang van de taken. Ook wordt het probleem van beschikbaarheid opgelost, omdat eerder in Hadoop 1.0 de Job Tracker-fout leidde tot het opnieuw starten van taken. YARN kwam met veel toegevoegde bonussen, zoals een beter gebruik van de middelen, omdat er geen vaste plaats voor taken is omdat het centraal beheer van de middelen biedt. Dus met YARN worden veel van de problemen in de eerdere versie van Hadoop opgelost, omdat het helpt bij het scheiden van de gegevensverwerking van planning en resourcebeheer. Met YARN is het mogelijk om interactieve query's onafhankelijk uit te voeren en een betere realtime analyse te bieden.
Aanbevolen artikelen
Dit is een gids geweest voor Hadoop YARN Architecture. Hier bespreken we de verschillende componenten van YARN, waaronder Resource Manager, Node Manager en Containers samen met de architectuur. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -
- Apache Hadoop Ecosysteem
- Hadoop ecosysteemcomponenten
- Hadoop-componenten
- Hadoop Ecosysteem