Seguimiento jobtracker y tasktracker en hadoop 1

procesamiento MapReduce en Hadoop 1 es manejado por los demonios JobTracker y TaskTracker. El JobTracker mantiene una visión de todos los recursos de procesamiento disponibles en el cluster Hadoop y, como las solicitudes de aplicación vienen en, TI horarios y los despliega a los nodos TaskTracker para su ejecución.

A medida que las aplicaciones se están ejecutando, el JobTracker recibe actualizaciones de estado de los nodos TaskTracker para realizar un seguimiento de su progreso y, si es necesario, coordinar el manejo de cualquier fallo. El JobTracker necesita ejecutarse en un nodo maestro en el cluster Hadoop, ya que coordina la ejecución de todas las aplicaciones MapReduce de la agrupación, por lo que es un servicio de misión crítica.

Una instancia de la daemon TaskTracker se ejecuta en cada nodo esclavo en el clúster Hadoop, lo que significa que cada nodo esclavo tiene un servicio que ata al tratamiento (TaskTracker) y el almacenamiento (DataNode), que permite Hadoop para ser un sistema distribuido.

Como un proceso esclavo, el TaskTracker recibe peticiones de procesamiento de la JobTracker. Su responsabilidad principal es realizar un seguimiento de la ejecución de cargas de trabajo MapReduce sucediendo de forma local en su nodo esclavo y enviar actualizaciones de estado para el JobTracker.

TaskTrackers gestionar los recursos de procesamiento en cada nodo esclavo en forma de procesar las ranuras - las ranuras definidas para las tareas mapa y reducir las tareas, para ser exactos. El número total de mapa y reducir el número de ranuras indica el mapa y reducir las tareas se pueden ejecutar en un momento en el nodo esclavo.

Cuando se trata de afinar un clúster Hadoop, estableciendo el número óptimo de mapa y reducir ranuras es crítica. El número de ranuras debe ser configurado con cuidado basado en la memoria disponible, el disco y recursos de CPU en cada nodo esclavo. La memoria es el más crítico de estos tres recursos desde una perspectiva de rendimiento. Como tal, el número total de ranuras de tareas necesita ser equilibrado con la máxima cantidad de memoria asignada al tamaño del montón Java.

Tenga en cuenta que cada mapa y reducir la tarea desova su propia máquina virtual de Java (JVM) y que el montón representa la cantidad de memoria que se asigna para cada JVM. La relación del mapa ranuras para reducir las ranuras es también una consideración importante.

Por ejemplo, si tiene demasiadas ranuras mapa y no reduce lo suficiente ranuras para sus cargas de trabajo, mapa ranuras tienden a cruzarse de brazos, mientras que sus puestos de trabajo están a la espera para reducir las ranuras que estén disponibles.

distintos conjuntos de ranuras se definen para tareas mapa y reducir las tareas, ya que utilizan los recursos de computación de manera muy diferente. Mapa tareas se asignan en base a la localidad de datos, y dependen en gran medida de disco I / O y CPU. tareas de reducir se asignan en función de la disponibilidad, no en la localidad, y dependen en gran medida de ancho de banda de la red, ya que necesitan para recibir la salida de las tareas de mapas.

Artículos Relacionados