Video: Urmarirea Ep 1 - Cursa cu soareci - film romanesc 1971 2024
Prelucrarea MapReduce în Hadoop 1 este gestionată de daemonii JobTracker și TaskTracker. JobTracker păstrează o vizualizare a tuturor resurselor de procesare disponibile în clusterul Hadoop și, pe măsură ce cererile de aplicație vin, planifică și le implementează la nodurile TaskTracker pentru execuție.
În timp ce aplicațiile rulează, JobTracker primește actualizări de stare de la nodurile TaskTracker pentru a urmări progresul lor și, dacă este necesar, pentru a coordona gestionarea eventualelor defecțiuni. JobTracker trebuie să ruleze pe un nod master în clusterul Hadoop deoarece coordonează executarea tuturor aplicațiilor MapReduce din cluster, deci este un serviciu important pentru misiuni.
O instanță a daemonului TaskTracker rulează pe fiecare nod slave din clusterul Hadoop, ceea ce înseamnă că fiecare nod slave are un serviciu care leagă procesorul (TaskTracker) și spațiul de stocare (DataNode) care permite ca Hadoop să fie un sistem distribuit.
Ca proces slave, TaskTracker primește cereri de procesare de la JobTracker. Responsabilitatea sa principală este de a urmări executarea sarcinilor de lucru MapReduce care se întâmplă local pe nodul său slave și de a trimite actualizări de stare la JobTracker.
TaskTrackers gestionează resursele de procesare pe fiecare nod slave sub formă de sloturi de procesare - sloturile definite pentru sarcinile de hartă și reducerea sarcinilor, pentru a fi exacte. Numărul total al hărților și reducerea numărului de sloturi indică numărul de sarcini de hartă și de reducere a sarcinilor care pot fi executate la un moment dat pe nodul slave.
Când vine vorba de reglarea unui cluster Hadoop, stabilirea numărului optim de hărți și reducerea sloturilor este critică. Numărul de sloturi trebuie să fie atent configurat pe baza resurselor disponibile de memorie, disc și CPU pe fiecare nod de slave. Memoria este cea mai critică dintre aceste trei resurse dintr-o perspectivă de performanță. Ca atare, numărul total de sloturi de sarcină trebuie să fie echilibrat cu cantitatea maximă de memorie alocată dimensiunii heap Java.
Țineți minte că fiecare hartă și reducerea sarcinii generează propria sa mașină virtuală Java (JVM) și că halda reprezintă cantitatea de memorie care este alocată pentru fiecare JVM. Raportul dintre sloturile de hărți pentru a reduce sloturile este, de asemenea, un aspect important.
De exemplu, dacă aveți prea multe sloturi pentru hărți și nu reduceți suficient spațiul pentru încărcările dvs. de lucru, sloturile de hărți vor avea tendința de a rămâne în așteptare, în timp ce lucrările dvs. așteaptă disponibilitatea sloturilor reduse.
Seturile distincte de sloturi sunt definite pentru sarcinile de hartă și reduc sarcinile deoarece folosesc resursele de calcul destul de diferit.Sarcinile hărții sunt atribuite pe baza unei localități de date și depind foarte mult de I / O de pe disc și de CPU. Reducerea sarcinilor este atribuită în funcție de disponibilitate, nu de localitate și depinde foarte mult de lățimea de bandă a rețelei, deoarece acestea trebuie să primească ieșiri din sarcinile de hartă.