Relación entre MapReduce y otros componentes
Relación entre MapReduce y HDFS
- HDFS cuenta con alta tolerancia a fallas y alto rendimiento, y se puede implementar en hardware de bajo costo para almacenar datos de aplicaciones con conjuntos de datos masivos.
- MapReduce es un modelo de programación utilizado para el cálculo paralelo de grandes conjuntos de datos (mayores de 1 TB). Los datos computados por MapReduce provienen de múltiples orígenes de datos, como FileSystem locales, HDFS y bases de datos. La mayoría de los datos provienen del HDFS. El alto rendimiento de HDFS se puede utilizar para leer datos masivos. Después de ser computados, los datos se pueden almacenar en HDFS.
Relación entre el MapReduce y Yarn
MapReduce es un marco de computación que se ejecuta en Yarn, que se utiliza para el procesamiento por lotes. MRv1 se implementa basado en MapReduce en Hadoop 1.0, que se compone de modelos de programación (Las API de programación nuevas y antiguas), entorno de ejecución (JobTracker y TaskTracker), y motor de procesamiento de datos (MapTask y ReduceTask). Este marco sigue siendo débil en escalabilidad, tolerancia a fallas (JobTracker SPOF) y compatibilidad con varios marcos. (Actualmente, solo se admite el marco de computación de MapReduce.) MRv2 se implementa en base a MapReduce en Hadoop 2.0. El código fuente reutiliza los modelos de programación MRv1 y la implementación del motor de procesamiento de datos, y el entorno de ejecución se compone de ResourceManager y ApplicationMaster. ResourceManager es un nuevo sistema de gestión de recursos, y ApplicationMaster es responsable de cortar los datos de trabajo de MapReduce, asignar tareas, solicitar recursos, programar tareas y tolerar fallas.