¿Cómo poner en marcha una aplicación basada en hilo

Video: Cómo instalar en tu iPhone 4 aplicaciones que requieren iOS 8 o superior

Para mostrar cómo los distintos hilados (Sin embargo, otro negociador de recursos) componentes trabajan juntos, se puede caminar a través de la ejecución de una aplicación. Por el bien del argumento, que puede ser una aplicación de MapReduce, con la arquitectura y JobTracker TaskTracker.

Video: tutorial extensiones de nudo

Sólo recuerde que, con el hilado, que puede ser cualquier tipo de aplicación para la que no hay un marco de aplicación. La figura muestra las interacciones, y la cuenta de prosa se establece abajo en la lista paso siguiente:

  1. La aplicación cliente envía una solicitud de aplicación al gestor de recursos.

  2. El Administrador de recursos hace una Node Manager para crear una instancia de aplicación Maestro para esta aplicación. El Node Manager consigue un contenedor para ella y comienza para arriba.

  3. Esta nueva aplicación Maestro inicializa mediante el registro en sí con el administrador de recursos.

  4. El Maestro de aplicación da cuenta de cómo se necesitan muchos recursos de procesamiento para ejecutar toda la aplicación.

    Esto se hace mediante la solicitud de la NameNode los nombres y ubicaciones de los archivos y bloques de datos que necesita la aplicación y el cálculo de cuántas tareas mapa y reducir las tareas son necesarias para procesar todos estos datos.

  5. El Maestro aplicación solicita entonces los recursos necesarios desde el Administrador de recursos.

    El Maestro aplicación envía mensajes de control al gestor de recursos a lo largo de su vida útil, con una lista de pie de los recursos solicitados y cualquier cambio (por ejemplo, una solicitud de muertes).

  6. El Administrador de recursos acepta la solicitud de recursos y pone en cola las peticiones de recursos específicos, junto con todas las otras peticiones de recursos que ya están programadas.

  7. A medida que estén disponibles en los nodos esclavos los recursos solicitados, el administrador de recursos otorga los contratos de arrendamiento maestro de aplicación para contenedores en nodos esclavos específicos.

  8. El Maestro aplicación solicita el contenedor asignado desde el Administrador de nodo y envía un Contexto de Contenedor lanzamiento (CLC).

    El CLC incluye todo lo que la tarea de la aplicación necesita para funcionar: las variables de entorno, los tokens de autenticación, los recursos locales necesarios en tiempo de ejecución (por ejemplo, archivos de datos adicionales, o lógica de la aplicación en tarros), y la cadena de comandos necesarios para iniciar el proceso real. El Node Manager crea entonces el proceso de contenedor solicitado y lo inicia.

  9. La aplicación se ejecuta mientras que los procesos de contenedor se están ejecutando.

    El Maestro aplicación monitoriza su progreso, y en el caso de un fallo contenedor o un fallo de nodo, la tarea se reinicia en la siguiente ranura disponible. Si la misma tarea falla después de cuatro intentos (un valor por defecto que se puede personalizar), todo el trabajo se producirá un error. Durante esta fase, el Maestro de la aplicación también se comunica directamente con el cliente para responder a las solicitudes de estado.

  10. Además, mientras que los contenedores se están ejecutando, el administrador de recursos puede enviar una orden de matar a la Node Manager para terminar un contenedor específico.

    Esto puede ser como resultado de un cambio de prioridad de programación o una operación normal, tales como la aplicación ya en sí siendo completado.

  11. En el caso de aplicaciones MapReduce, después de las tareas mapa están terminados, los recursos maestro solicita Aplicación para una ronda de reducir las tareas para procesar los conjuntos de resultados provisionales de las tareas de mapas.

  12. Cuando todas las tareas se han completado, el Maestro de aplicaciones envía el conjunto de resultados a la aplicación cliente, informa al Administrador de recursos que la aplicación ha terminado con éxito, anula el registro en sí desde el Administrador de recursos, y se cierra en sí abajo.

Video: Cómo instalar aplicaciones mediante iTunes

Al igual que los demonios JobTracker y TaskTracker y ranuras de procesamiento de Hadoop 1, todos los demonios del hilo y contenedores son procesos Java, que se ejecutan en máquinas virtuales de Java. Con un hilo, que está ya no es necesario definir el número de mapa y reducir ranuras que necesita - sólo tiene que decidir la cantidad de memoria de mapa y reducir las tareas pueden tener. El Administrador de recursos asignará los contenedores para el mapa o reducir las tareas en el clúster en función de cómo se encuentra disponible mucha memoria.

Cuando se está escribiendo aplicaciones de Hadoop, usted no necesita preocuparse de solicitar recursos y el seguimiento de contenedores. Cualquiera que sea marco de aplicación que estés usando hace todo eso para usted. Es siempre una buena idea, sin embargo, para entender lo que ocurre cuando las aplicaciones se ejecutan en el clúster. Este conocimiento puede ayudar enormemente cuando que va a monitorear el progreso de aplicación o la depuración de una tarea fallida.

Artículos Relacionados