Local cover image
Local cover image

DOMEX : ambiente distribuido web para la ejecución de jobs MapReduce

By: Contributor(s): Material type: TextTextPublication details: 2024Description: 1 archivo (6,0 MB) : il. colSubject(s): Online resources:
Contents:
Capítulo 1: Introducción -- 1.1 Motivación -- 1.2 Objetivos -- 1.3 Resultados esperados -- 1.4 Estructura de la tesina -- Capítulo 2: Big Data y Paradigmas de Programación -- 2.1 Explicación de Big Data -- 2.2 Tecnologías que posibilitan trabajar con Big Data -- 2.2.1 Hadoop Ecosystem -- 2.2.2 Apache Spark -- 2.2.3 Apache Flume y Apache Kafka -- 2.2.4 NoSQL Databases -- 2.2.5 Data Warehousing and Analytics -- 2.2.6 Herramientas de Machine Learning -- Capítulo 3: Ecosistema Hadoop y MapReduce -- 3.1 El Paradigma MapReduce -- 3.1.1 Historia y Evolución -- 3.2 Componentes del ecosistema Apache Hadoop -- 3.2.1 HDFS (Hadoop Distributed File System) -- 3.2.2 Job Tracker -- 3.2.3 Task Tracker -- 3.2.4 YARN (Yet Another Resource Negotiator) -- 3.2.5 Apache Hive -- 3.2.6 Apache Pig -- 3.2.7 Apache HBase -- 3.3 Etapas del Paradigma MapReduce -- 3.3.1 Map -- 3.3.2 Shuffle -- 3.3.3 Sort -- 3.3.4 Reduce -- 3.3.5 Combine -- 3.4 Ejemplo de Conteo de Palabras con MapReduce -- 3.5 Conclusión -- Capítulo 4: Sistemas Distribuidos y Comunicación en Tiempo Real -- 4.1 Explicación de Sistemas Distribuidos -- 4.1.1 Clasificación -- 4.2 Mecanismos de Comunicación en Tiempo Real para la Web -- 4.2.1 WebSockets -- 4.2.2 WebRTC -- 4.2.3 Integración de WebSockets y WebRTC en la Aplicación Propuesta -- Capítulo 5: Investigación previa y Soluciones Actuales -- 5.1 Soluciones Actuales para la Ejecución de Jobs MapReduce -- 5.1.1 Herramienta Utilizada en el Dictado de la Asignatura -- 5.1.2 Otras Soluciones Existentes -- 5.1.2.1 Implementación de Hadoop con un Clúster de Computadoras -- 5.1.2.2 Soluciones Basadas en la Nube -- 5.1.2.3 Soluciones Híbridas y Alternativas -- 5.2 Ejecutar Python en el Navegador -- 5.2.1 Pyodide -- 5.2.2 Brython -- 5.2.3 Skulpt -- 5.2.4 Transcrypt -- 5.3 Análisis y Aplicación de Código Base para Funciones Map, Combine y Reduce -- 5.3.1 Necesidad de un Código Base -- 5.3.2 Implementación del Código Base -- 5.3.3 Integración con React -- Capítulo 6: Implementación de la Aplicación -- 6.1 Arquitectura de la Aplicación -- 6.1.1 Frontend (Next.js) -- 6.1.2 Backend (Node.js y Express.js) -- 6.1.3 Servidor NGINX -- 6.1.4 Cert-Generator -- 6.1.5 Docker y Redes -- 6.2 Flujo de Comunicación de la Aplicación -- 6.2.1 Frontend y Backend -- 6.2.2 Comunicación entre peers (frontend) -- 6.3 Explicación del Funcionamiento de la Aplicación -- 6.3.1 Dos Tipos de Nodos: Master y Slaves -- 6.3.2 Funciones del Master -- 6.3.2.1 Definición de funciones -- 6.3.2.2 Monitoreo de Estado y Gestión de Conexiones -- 6.3.2.3 Asignación y Distribución de Tareas -- 6.3.2.4 Manejo de Resultados y Finalización de Tareas -- 6.3.3 Funciones del Slave -- 6.3.3.1 Ejecución de Tareas Asignadas -- 6.3.3.2 Monitoreo y Reporte de Estado -- 6.3.3.3 Manejo de Errores -- 6.3.3.4 Visualización de estadísticas -- 6.3.4 Subida de Archivos -- 6.3.5 Circuito de Mensajes -- 6.3.5.1 Inicio de Conexión y Señalización -- 6.3.5.2 Distribución de Tareas y Sincronización -- 6.3.5.3 Ejecución y Reporte de Resultados -- 6.3.5.4 Finalización de Tareas y Desconexión -- 6.3.5.5 Sincronización para la Ejecución del Job MapReduce -- 6.3.6 Gestión de Sesiones -- 6.3.6.1 Gestión de Sesiones en el Backend -- 6.3.6.2 Gestión de Sesiones en el Frontend -- 6.3.6.3 Coordinación Integral -- 6.3.6.4 Persistencia y Reconexión -- 6.3.6.5 Desconexiones Involuntarias y Manejo de Estados -- 6.3.7 Estadísticas -- 6.3.7.1 Tiempo de ejecución -- 6.3.7.2 Uso de recursos -- 6.3.7.3 Resultados de ejecución -- 6.4 Limitaciones actuales de la App -- 6.4.1 Restricción en el Tamaño de Archivos -- 6.4.2 Ausencia de Restricciones en la Cantidad de Archivos -- 6.4.3 Limitaciones de Conectividad y Redes -- 6.4.4 Consideraciones sobre la Escalabilidad -- 6.4.5 Conclusiones y Recomendaciones -- Capítulo 7: Pruebas funcionales de la aplicación -- 7.1 Problema de Proyección -- 7.2 Problema de Contador -- 7.3 Problema de Agregación -- 7.4 Problema de Join -- 7.5 Problema de Clustering (k-means) -- 7.6 Conclusiones -- Capítulo 8: Problemas y Soluciones en el Desarrollo -- 8.1 NAT Simétrico y Asimétrico -- 8.2 Servidores STUN y TURN -- 8.3 Implementación de HTTPS en Red Local -- 8.4 Particionado de Mensajes por la Red WebRTC en Chunks -- 8.4.1 Implementación de la Transmisión de Chunks -- 8.4.2 Desafíos y Soluciones -- Capítulo 9: Conclusiones y Trabajo Futuro -- 9.1 Resumen de los Hallazgos -- 9.2 Posibles Mejoras y Futuras Investigaciones -- 9.2.1 Implementación de las Etapas Shuffle y Sort -- 9.2.2 Soluciones Iterativas -- 9.2.3 Configuración de Funciones Map para Diferentes Conjuntos de Datos -- 9.2.4 Administración de Parámetros y Variables Globales -- 9.2.5 Integración de IntelliSense en el Editor de Código -- 9.2.6 Implementación de la Aplicación para Funcionamiento Global -- 9.2.7 Mejora del Poder Computacional de los Nodos -- 9.2.8 Optimizar el algoritmo de distribución de claves -- 9.2.9 Conclusión -- Referencias bibliográficas -- Anexos
Dissertation note: Tesina (Licenciatura en Sistemas) - Universidad Nacional de La Plata. Facultad de Informática, 2024.
Star ratings
    Average rating: 0.0 (0 votes)
Holdings
Item type Home library Collection Call number URL Status Date due Barcode
Tesis de posgrado Tesis de posgrado Biblioteca de la Facultad de Informática TES 24/29 (Browse shelf(Opens below)) Available DIF-05373
Tesis de posgrado Tesis de posgrado Biblioteca de la Facultad de Informática Biblioteca digital Link to resource No corresponde
Tesis de posgrado Tesis de posgrado Biblioteca de la Facultad de Informática Biblioteca digital Link to resource No corresponde

Tesina (Licenciatura en Sistemas) - Universidad Nacional de La Plata. Facultad de Informática, 2024.

Capítulo 1: Introducción -- 1.1 Motivación -- 1.2 Objetivos -- 1.3 Resultados esperados -- 1.4 Estructura de la tesina -- Capítulo 2: Big Data y Paradigmas de Programación -- 2.1 Explicación de Big Data -- 2.2 Tecnologías que posibilitan trabajar con Big Data -- 2.2.1 Hadoop Ecosystem -- 2.2.2 Apache Spark -- 2.2.3 Apache Flume y Apache Kafka -- 2.2.4 NoSQL Databases -- 2.2.5 Data Warehousing and Analytics -- 2.2.6 Herramientas de Machine Learning -- Capítulo 3: Ecosistema Hadoop y MapReduce -- 3.1 El Paradigma MapReduce -- 3.1.1 Historia y Evolución -- 3.2 Componentes del ecosistema Apache Hadoop -- 3.2.1 HDFS (Hadoop Distributed File System) -- 3.2.2 Job Tracker -- 3.2.3 Task Tracker -- 3.2.4 YARN (Yet Another Resource Negotiator) -- 3.2.5 Apache Hive -- 3.2.6 Apache Pig -- 3.2.7 Apache HBase -- 3.3 Etapas del Paradigma MapReduce -- 3.3.1 Map -- 3.3.2 Shuffle -- 3.3.3 Sort -- 3.3.4 Reduce -- 3.3.5 Combine -- 3.4 Ejemplo de Conteo de Palabras con MapReduce -- 3.5 Conclusión -- Capítulo 4: Sistemas Distribuidos y Comunicación en Tiempo Real -- 4.1 Explicación de Sistemas Distribuidos -- 4.1.1 Clasificación -- 4.2 Mecanismos de Comunicación en Tiempo Real para la Web -- 4.2.1 WebSockets -- 4.2.2 WebRTC -- 4.2.3 Integración de WebSockets y WebRTC en la Aplicación Propuesta -- Capítulo 5: Investigación previa y Soluciones Actuales -- 5.1 Soluciones Actuales para la Ejecución de Jobs MapReduce -- 5.1.1 Herramienta Utilizada en el Dictado de la Asignatura -- 5.1.2 Otras Soluciones Existentes -- 5.1.2.1 Implementación de Hadoop con un Clúster de Computadoras -- 5.1.2.2 Soluciones Basadas en la Nube -- 5.1.2.3 Soluciones Híbridas y Alternativas -- 5.2 Ejecutar Python en el Navegador -- 5.2.1 Pyodide -- 5.2.2 Brython -- 5.2.3 Skulpt -- 5.2.4 Transcrypt -- 5.3 Análisis y Aplicación de Código Base para Funciones Map, Combine y Reduce -- 5.3.1 Necesidad de un Código Base -- 5.3.2 Implementación del Código Base -- 5.3.3 Integración con React -- Capítulo 6: Implementación de la Aplicación -- 6.1 Arquitectura de la Aplicación -- 6.1.1 Frontend (Next.js) -- 6.1.2 Backend (Node.js y Express.js) -- 6.1.3 Servidor NGINX -- 6.1.4 Cert-Generator -- 6.1.5 Docker y Redes -- 6.2 Flujo de Comunicación de la Aplicación -- 6.2.1 Frontend y Backend -- 6.2.2 Comunicación entre peers (frontend) -- 6.3 Explicación del Funcionamiento de la Aplicación -- 6.3.1 Dos Tipos de Nodos: Master y Slaves -- 6.3.2 Funciones del Master -- 6.3.2.1 Definición de funciones -- 6.3.2.2 Monitoreo de Estado y Gestión de Conexiones -- 6.3.2.3 Asignación y Distribución de Tareas -- 6.3.2.4 Manejo de Resultados y Finalización de Tareas -- 6.3.3 Funciones del Slave -- 6.3.3.1 Ejecución de Tareas Asignadas -- 6.3.3.2 Monitoreo y Reporte de Estado -- 6.3.3.3 Manejo de Errores -- 6.3.3.4 Visualización de estadísticas -- 6.3.4 Subida de Archivos -- 6.3.5 Circuito de Mensajes -- 6.3.5.1 Inicio de Conexión y Señalización -- 6.3.5.2 Distribución de Tareas y Sincronización -- 6.3.5.3 Ejecución y Reporte de Resultados -- 6.3.5.4 Finalización de Tareas y Desconexión -- 6.3.5.5 Sincronización para la Ejecución del Job MapReduce -- 6.3.6 Gestión de Sesiones -- 6.3.6.1 Gestión de Sesiones en el Backend -- 6.3.6.2 Gestión de Sesiones en el Frontend -- 6.3.6.3 Coordinación Integral -- 6.3.6.4 Persistencia y Reconexión -- 6.3.6.5 Desconexiones Involuntarias y Manejo de Estados -- 6.3.7 Estadísticas -- 6.3.7.1 Tiempo de ejecución -- 6.3.7.2 Uso de recursos -- 6.3.7.3 Resultados de ejecución -- 6.4 Limitaciones actuales de la App -- 6.4.1 Restricción en el Tamaño de Archivos -- 6.4.2 Ausencia de Restricciones en la Cantidad de Archivos -- 6.4.3 Limitaciones de Conectividad y Redes -- 6.4.4 Consideraciones sobre la Escalabilidad -- 6.4.5 Conclusiones y Recomendaciones -- Capítulo 7: Pruebas funcionales de la aplicación -- 7.1 Problema de Proyección -- 7.2 Problema de Contador -- 7.3 Problema de Agregación -- 7.4 Problema de Join -- 7.5 Problema de Clustering (k-means) -- 7.6 Conclusiones -- Capítulo 8: Problemas y Soluciones en el Desarrollo -- 8.1 NAT Simétrico y Asimétrico -- 8.2 Servidores STUN y TURN -- 8.3 Implementación de HTTPS en Red Local -- 8.4 Particionado de Mensajes por la Red WebRTC en Chunks -- 8.4.1 Implementación de la Transmisión de Chunks -- 8.4.2 Desafíos y Soluciones -- Capítulo 9: Conclusiones y Trabajo Futuro -- 9.1 Resumen de los Hallazgos -- 9.2 Posibles Mejoras y Futuras Investigaciones -- 9.2.1 Implementación de las Etapas Shuffle y Sort -- 9.2.2 Soluciones Iterativas -- 9.2.3 Configuración de Funciones Map para Diferentes Conjuntos de Datos -- 9.2.4 Administración de Parámetros y Variables Globales -- 9.2.5 Integración de IntelliSense en el Editor de Código -- 9.2.6 Implementación de la Aplicación para Funcionamiento Global -- 9.2.7 Mejora del Poder Computacional de los Nodos -- 9.2.8 Optimizar el algoritmo de distribución de claves -- 9.2.9 Conclusión -- Referencias bibliográficas -- Anexos

Click on an image to view it in the image viewer

Local cover image