¿Qué significa JobTracker?
JobTracker es un demonio que se ejecuta en el motor MapReduce de Apache Hadoop. JobTracker es un servicio esencial que distribuye todas las tareas MapReduce a los distintos nodos del clúster, idealmente a aquellos nodos que ya contienen los datos, o al menos están situados en el mismo rack que los nodos que contienen los datos.
Definición de JobTracker
JobTracker es el servicio dentro de Hadoop que se encarga de recibir las peticiones de los clientes. Las asigna a TaskTrackers en DataNodes donde los datos requeridos están localmente presentes.
Si esto no es posible, JobTracker intenta asignar las tareas a TaskTrackers dentro del mismo rack donde los datos están localmente presentes. Si por alguna razón esto tampoco funciona, JobTracker asigna la tarea a un TaskTracker donde exista una réplica de los datos.
En Hadoop, los bloques de datos se replican en los DataNodes para garantizar la redundancia, de modo que si falla un nodo del clúster, el trabajo no falle también.
Proceso JobTracker:
- El JobTracker recibe las solicitudes de trabajo de las aplicaciones cliente,
- JobTracker consulta el NameNode para determinar la ubicación de los datos requeridos.
- JobTracker localiza los nodos TaskTracker que contienen los datos o al menos están cerca de ellos.
- El trabajo se envía al TaskTracker seleccionado.
- El TaskTracker realiza sus tareas mientras es supervisado de cerca por JobTracker. Si el trabajo falla, JobTracker simplemente lo reenvía a otro TaskTracker. Sin embargo, el propio JobTracker es un único punto de fallo, lo que significa que si falla, todo el sistema se cae.
- JobTracker actualiza su estado cuando el trabajo finaliza.
- El cliente solicitante puede ahora sondear la información de JobTracker.