Video: 019 MapReduce Daemons JobTracker and TaskTracker Explained 2025
MapReduce-behandling i Hadoop 1 håndteres af JobTracker og TaskTracker-dæmmerne. JobTracker opretholder en oversigt over alle tilgængelige behandlingsressourcer i Hadoop-klyngen, og når ansøgningsanmodninger kommer ind, planlægger og distribuerer de dem til TaskTracker-noderne til udførelse.
Da applikationer kører, modtager JobTracker statusopdateringer fra TaskTracker-noderne for at spore deres fremskridt og om nødvendigt koordinere håndteringen af eventuelle fejl. JobTracker skal køre på en hovedknude i Hadoop-klyngen, da den koordinerer udførelsen af alle MapReduce-applikationer i klyngen, så det er en missionskritisk tjeneste.
En forekomst af TaskTracker-dæmonen kører på hver slaveknude i Hadoop-klyngen, hvilket betyder, at hver slaveknude har en tjeneste, der binder den til behandlingen (TaskTracker) og lagringen (DataNode), som gør det muligt for Hadoop at være et distribueret system.
Som en slaveproces modtager TaskTracker behandlingsanmodninger fra JobTracker. Dets primære ansvar er at spore udførelsen af MapReduce arbejdsbyrder, der sker lokalt på slaveknuden og at sende statusopdateringer til JobTracker.
TaskTrackers styrer behandlingsressourcerne på hver slave node i form af behandlingsspor - de pladser, der er defineret til kortopgaver og reducerer opgaver, for at være præcise. Det samlede antal kort og reducere slots angiver, hvor mange kort og reducere opgaver, der kan udføres på et tidspunkt på slaveknuden.
Når det kommer til at tune en Hadoop-klynge, er det afgørende at indstille det optimale antal kort og reducere slots. Antallet af slots skal omhyggeligt konfigureres baseret på ledige hukommelses-, disk- og CPU-ressourcer på hver slave node. Hukommelse er den mest kritiske af disse tre ressourcer fra et præstationsperspektiv. Som sådan skal det samlede antal opgaverne afbalanceres med den maksimale mængde hukommelse, der er allokeret til Java-heapstørrelsen.
Husk at hvert kort og reducere opgaven opdrætter sin egen Java virtuelle maskine (JVM), og at bunken repræsenterer mængden af hukommelse, der er tildelt for hver JVM. Forholdet mellem kortslots for at reducere slots er også en vigtig overvejelse.
Hvis du for eksempel har for mange kortspor og ikke nok reducerer pladser til dine arbejdsbelastninger, vil kortpladserne være tilbøjelige til at sidde tomgang, mens dine job venter på at reducere slots for at blive tilgængelige.
Specifikke sæt af slots er defineret for kortopgaver og reducerer opgaver, fordi de bruger computerressourcer ret forskelligt.Kortopgaver er tildelt baseret på datalokalitet, og de er stærkt afhængige af disk I / O og CPU. Reducere opgaver er tildelt baseret på tilgængelighed, ikke på lokalitet, og de er stærkt afhængige af netværksbåndbredde, fordi de skal modtage output fra kortopgaver.