Sommario:
Definizione - Cosa significa JobTracker?
JobTracker è un demone che gira sul motore MapReduce di Apache Hadoop. JobTracker è un servizio essenziale che distribuisce tutte le attività MapReduce ai diversi nodi del cluster, idealmente a quei nodi che già contengono i dati, o almeno si trovano nello stesso rack dei nodi che contengono i dati.
Techopedia spiega JobTracker
JobTracker è il servizio all'interno di Hadoop che è responsabile dell'accettazione delle richieste dei clienti. Li assegna a TaskTrackers su DataNodes in cui i dati richiesti sono presenti localmente. Se ciò non è possibile, JobTracker tenta di assegnare le attività a TaskTrackers all'interno dello stesso rack in cui i dati sono presenti localmente. Se per qualche motivo anche questo non riesce, JobTracker assegna l'attività a un TaskTracker in cui esiste una replica dei dati. In Hadoop, i blocchi di dati vengono replicati su DataNodes per garantire la ridondanza, in modo che se un nodo nel cluster fallisce, anche il lavoro non fallisce.
Processo JobTracker:
- Le richieste di lavoro dalle applicazioni client vengono ricevute da JobTracker,
- JobTracker consulta il NameNode al fine di determinare la posizione dei dati richiesti.
- JobTracker individua i nodi TaskTracker che contengono i dati o almeno sono vicini ai dati.
- Il lavoro viene inviato al TaskTracker selezionato.
- TaskTracker esegue i suoi compiti mentre viene attentamente monitorato da JobTracker. Se il lavoro non riesce, JobTracker reinvia semplicemente il lavoro a un altro TaskTracker. Tuttavia, JobTracker stesso rappresenta un singolo punto di errore, ovvero se si guasta l'intero sistema si arresta.
- JobTracker aggiorna il suo stato al completamento del lavoro.
- Il richiedente client può ora eseguire il polling delle informazioni da JobTracker.