¿Qué beneficio adicional que hace de Hilo traer a la existente reducir el mapa?

Hilo difiere en su infraestructura de capa en el mapa original de reducir la arquitectura de la siguiente manera:

En el HILO, el job tracker está dividida en dos diferentes demonios llamados Resource Manager y Node Manager (nodo específico). El administrador de recursos sólo gestiona la asignación de recursos a los diferentes puestos de trabajo, aparte de que comprende un programador que sólo se ocupa de la programación de puestos de trabajo sin tener que preocuparse acerca de cualquier control o actualizaciones de estado. Diferentes recursos como la memoria, tiempo de cpu, ancho de banda de red, etc. se ponen en una unidad llamada Resource Container. Hay diferentes AppMasters que se ejecutan en diferentes nodos que hablar con un número de estos recursos contenedores y, en consecuencia, actualizar el Administrador de Nodo con el monitoreo/detalles de estado.

Quiero saber que hace uso de este tipo de enfoque aumentar el rendimiento de la hoja-reducir perspectiva? También, si hay alguna definitivo contenido en la motivación detrás de Hilo y sus beneficios sobre la implementación existente de reducir el Mapa, por favor, me apunte a la misma.

5 Kommentare

  1. 20

    Aquí son algunos de los artículos (Uno, Dos, Tres) acerca de HILO. Estos hablan de los beneficios de la utilización de HILO.

    HILO es más general que el SEÑOR y debe ser posible ejecutar otros modelos informáticos, como BSP además, Antes de HILO, se requiere un grupo aparte para el SEÑOR, BSP y otros. Ahora ellos pueden coexistir en un único clúster, lo que lleva a un mayor uso de los clúster. Aquí son algunas de las aplicaciones portadas a HILO.

    De un MapReduce perspectiva en el legado de MR existen diferentes ranuras para el Mapa y Reducir las tareas, pero en el HILO de su no es un propósito fijo de un contenedor. El mismo contenedor puede ser utilizado para un Mapa de tareas, Reducir la tarea, Hama BSP Tarea o algo más. Esto conduce a una mejor utilización.

    También, que hace que sea posible ejecutar diferentes versiones de Hadoop en el mismo clúster que no es posible con el legado de la RM, lo que hace que sea fácil de mantenimiento punto.

    Aquí son algunos de los enlaces adicionales para el HILO. También, Hadoop: La Guía Definitiva, 3ª Edición tiene toda una sección dedicada a HILO.

    FYI, que había sido un poco polémica para desarrollar HILO en lugar de utilizar algunos de los marcos que había estado haciendo algo similar y había estado funcionando durante las edades con éxito con los bugs pendientes.

    • Gracias! Esto es realmente útil, especialmente el artículo 2º.
    • #Praveen Sripati el artículo no son accesseable
  2. 7

    No creo que el Hilo de la aceleración del ritmo de la existente SEÑOR marco. Buscando en la arquitectura podemos ver que ahora el sistema es más modular – pero modularidad generalmente se contradice con mayor rendimiento.

    Se puede afirmar que el HILO no tiene nada que ver con MapReduce. MapReduce sólo se convirtió en uno de los HILADOS de aplicaciones. Se puede ver como el movimiento de algunos incrustado programa para incrustadas OS con el programa dentro de ella

    Al mismo tiempo el Hilo se abre la puerta para diferentes SEÑOR de las implementaciones con diferentes marcos. Por ejemplo , si suponemos que nuestro conjunto de datos es más pequeño que el clúster de la memoria se puede obtener un rendimiento mucho mejor. Creo que http://www.spark-project.org/ es un ejemplo

    Para resumir: Hilados de no mejorar las ya existentes SEÑOR, pero permitirá a otros MR implementaciones para ser mejor en todos los aspectos.

    • Estoy de acuerdo en que Hilo tiene el beneficio añadido de la ejecución de otros paradigmas o una versión diferente de Reducir el Mapa en el mismo grupo pero sería erróneo decir que no trae ningún ventajas de rendimiento. Hilo aumenta la utilización de los recursos de clúster en un camino donde no hay predefinidos mapa o reducir las ranuras y cada uno de los trabajos es libre de pedir que todos los recursos que necesita y estos recursos comprenden tiempo de CPU y memoria. Si hay una mayor utilización de los recursos, entonces es, naturalmente, va a incrementar el rendimiento de cada trabajo individual.
    • Estoy de acuerdo en que Hilo da mucha más flexibilidad y conducir a una mejor utilización. En el mismo tiempo, no espero Hilo para mejorar el desempeño del trabajo individual en la mayoría de los casos.
    • Todavía no puedo comprender que completamente. Puede usted arrojar algo más de luz sobre el. Estoy mirando desde la siguiente perspectiva – estoy tratando de ejecutar una gran cantidad de miembros de la comunidad en el clúster y la reduce las ranuras están sentados sin hacer nada (hablando de los viejos reducir el mapa de paradigma). En ese caso, los usuarios no pueden utilizar estos recursos ideales y ejecutar, en su lugar, necesitas esperar cuando algunos de los recursos liberados por el otro asignador de puestos de trabajo. Por lo tanto, existe un período de latencia implicados en este caso que desaparece en el caso de los Hilados.
    • Yo lo veo de la siguiente manera: Reducir las ranuras toma sólo de RAM, mientras que el de la CPU, Disco, Red todavía son utilizados por los miembros de la comunidad, por lo que la ganancia no es muy grande. Hadoop es usualy de CPU/IO vinculado, pero no la memoria RAM enlazado sistema. Ahora ejecuta reductores durante mapa de la etapa, impedirá a partir de los datos de terminado miembros de la comunidad que ya se han enviado a los reductores, lo que aumenta la latencia. Por lo que en algunos casos «de finales de los reductores» va a disminuir la latencia, en algunos – aumento. También veo que, en muchos casos, arrastrando los pies y reductores son de hecho un cuello de botella del trabajo..
    • Estoy de acuerdo en el último punto. Me corrija si estoy equivocado. Tasktrackers han pre-configurado map/reduce las ranuras. Imagine una situación en la que tengo varias independiente mapa de reducir puestos de trabajo es decir, reducir el mapa job1 ha mappers 1,2,3,4 & reductores 1,2;reducir el mapa job2 ha mappers 4,5,6,7 & reductores de 3,4. Ahora, imagine que estos 2 trabajos no consumen cada uno de los otros de salida y que no están relacionados entre sí, excepto que se ejecutan en el mismo clúster hadoop. En este caso, mi mappers/reductores tenga que esperar para que las ranuras para obtener gratis y disponible, y por lo tanto una latencia que consigue evitar en el caso de los Hilados.
    • Estoy de acuerdo con tu ejemplo. Para los múltiples puestos de trabajo debe haber casos cuando el Hilo va a mejorar en general clúster de utilización.
    • He entendido el problema con mapreduce 1 con número predefinido de mapa de ranuras y reducir las ranuras. ¿Cómo Hilados de abordar el problema con los Contenedores. Podría u explicar con el mismo ejemplo?

  3. 3

    Todas las respuestas anteriores cubierto de gran cantidad de información: yo soy la simplificación de toda la información de la siguiente manera:

    MapReduce: HILO: 
    
    1. Es la Plataforma de más de una Aplicación es una Plataforma Hadoop 2.0 y 
    en Hadoop 1. 0 y es sólo de no existir en Hadoop 1.0 
    las aplicaciones en Hadoop 2.0 
    
    2. Es de uso único sistema por ejemplo, es multi propósito del sistema, podemos ejecutar 
    Podemos ejecutar trabajos de MapReduce sólo. MapReduce, Chispa, Tez, Flink, BSP, MPP, 
    MPI, Giraph etc... (de Propósito General) 
    
    3. JobTracker escalabilidad es decir, Tanto la Gestión de los Recursos y 
    Tanto la Gestión de Recursos y Administración de Aplicaciones se separa & 
    La Administración del trabajo gestionados por RM+NM, Paradigma específico de la AMs 
    respectivamente. 
    
    4. Pobre de los Recursos de Gestión Flexible de la Gestión de los Recursos es decir, 
    sistema por ejemplo, las ranuras (map/reduce) los recipientes. 
    
    5. No es de alta disponibilidad la Alta disponibilidad y fiabilidad. 
    
    6. Escalado hasta 5000 nodos Escalar a 10000 más nodos. 
    
    7. Trabajo->tareas de Aplicaciones -> DAG de Puestos de trabajo -> tareas 
    
    8. Clásica MapReduce = MapReduce Hilo de MapReduce = MapReduce API + 
    API + Marco de MapReduce MapReduce Marco + hilos del Sistema 
    + MapReduce Sistema Para el SEÑOR de los programas que fueron escritos en 
    Hadoop 1.0 atropellado Hilo también con 
    cambiar una sola línea de código, es decir, 
    compatibilidad con versiones anteriores. 
    
  4. 2

    Vamos a ver Hadoop 1.0 inconvenientes, que han sido abordadas por Hadoop 2.0 con la adición de Hilo.

    1. Problema de Escalabilidad : Job Tracker se ejecuta en una sola máquina, incluso aunque haya miles de nodos en el clúster Hadoop. Las responsabilidades de Job tracker : gestión de Recursos, Trabajo y programación de Tareas y la supervisión. Ya que todos estos procesos se ejecutan en un único nodo, este modelo no es escalable.
    2. Problema de disponibilidad ( punto Único de falla): Job Tracker es un punto único de fallo.
    3. La utilización de los recursos: Debido a un número predefinido de Map & Reducir la tarea de ranuras, los recursos no son utilizados correctamente. Cuando todos Asignador de los nodos están ocupados, Reductor, los nodos están inactivos y no puede ser utilizado para el proceso de Asignador de tareas.
    4. Estrecha integración con el Mapa de Reducir marco: Hadoop 1.x puede ejecutar Mapa de reducir puestos de trabajo sólo. Apoyo para los trabajos de otros que el Mapa de Reducir puestos de trabajo no existe.

    Ahora solo Trabajo Tracker cuello de botella ha sido eliminado con HILO arquitectura en Hadoop 2.x

    La idea fundamental de HILO es dividir las funcionalidades de la gestión de los recursos y la programación de trabajos de monitoreo/a separado de los demonios. La idea es tener un mundial ResourceManager (RM) y por aplicación ApplicationMaster (AM). Una aplicación de un solo puesto de trabajo o un DAG de puestos de trabajo.

    La ResourceManager tiene dos componentes principales: Programador y ApplicationsManager.

    La Programador es responsable de la asignación de recursos para las diversas aplicaciones en ejecución sujeta a conocer las limitaciones de la capacidad, colas, etc. El Programador es puro programador en el sentido de que no se realiza ningún seguimiento o el seguimiento del estado de la aplicación.

    La ApplicationsManager es responsable de aceptar el trabajo-las comunicaciones, la negociación del primer contenedor para la ejecución de la aplicación específica ApplicationMaster and provides the service for restarting the ApplicationMaster container on failure.

    La por aplicación ApplicationMaster tiene la responsabilidad de negociar adecuado de los recursos contenedores desde el Programador, el seguimiento de su estado y de monitoreo para el progreso.

    Ahora ventajas de HILO

    1. Escalabilidad se han resuelto los problemas
    2. Ningún punto único de fallo. Todos los componentes son de alta disponibilidad
    3. La utilización de los recursos ha sido mejorado con la utilización adecuada de Map y reduce las ranuras.
    4. No Mapa Reducir Puestos de trabajo puede presentarse

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea