La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López PROCESAMIENTO DE GRANDES VOLÚMENES DE DATOS EN ENTORNOS CLOUD COMPUTING.

Presentaciones similares


Presentación del tema: "Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López PROCESAMIENTO DE GRANDES VOLÚMENES DE DATOS EN ENTORNOS CLOUD COMPUTING."— Transcripción de la presentación:

1 Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López PROCESAMIENTO DE GRANDES VOLÚMENES DE DATOS EN ENTORNOS CLOUD COMPUTING UTILIZANDO HADOOP MAPREDUCE UNIVERSIDAD DE ALMERÍA Ingeniero en Informática

2 Í NDICE Introducción. Entorno de trabajo. Cloud Computing, Configuración de una Nube OpenStack. Computación Distribuida Apache Hadoop. Hadoop Distributed File System. Integración Cloud Computing – Apache Hadoop. Programación MapReduce. Librería Hadoop Image Processing Interface. Pruebas de Rendimiento y Ejemplo de Aplicación HIPI. Conclusiones y Trabajo Futuro. 1

3 I NTRODUCCIÓN Mejora en las comunicaciones de Red Aumento de velocidad y del volumen de tráfico soportado Nace Apache Hadoop Aparición del Paradigma de Computación Cloud Computing ¿Es posible Integrarlos? Sistema de Computación Distribuido de Alto Rendimiento en un entorno Cloud Computing Desarrollo de los Sistemas de Computación Distribuidos 3

4 Í NDICE Introducción. Entorno de trabajo. Cloud Computing, Configuración de una Nube OpenStack. Computación Distribuida Apache Hadoop. Hadoop Distributed File System. Integración Cloud Computing – Apache Hadoop. Programación MapReduce. Librería Hadoop Image Processing Interface. Pruebas de Rendimiento y Ejemplo de Aplicación HIPI. Conclusiones y Trabajo Futuro. 4

5 C LOUD C OMPUTING Ofrecer los recursos de un sistema sin que los usuarios tengan conocimientos sobre el mismo, su configuración, mantenimiento o administración. Tipos de nubes: privadas, públicas, híbridas, combinadas y comunitarias. 5 Virtualización de Servidores. Convertir un sistema en una infraestructura de servicios escalable, dinámica y automatizable en la que se paga por los servicios que utilizas. Migrar servicios entre servidores y adaptar el sistema a la demanda de los usuarios.

6 C LOUD C OMPUTING V ENTAJAS Y D ESVENTAJAS Ahorro de Costes Alta Disponibilidad Alto Rendimiento Fiabilidad Escalabilidad Agilidad Recuperación ante Desastres Abstracción e Independencia del Hardware Sentimiento de Inseguridad o Vulnerabilidad Dependencia Conexión a Internet Tecnología Prematura en Desarrollo Degradación del Servicio Dependencia Proveedores de Servicios 6

7 C LOUD C OMPUTING C OMPARATIVA

8 C LOUD C OMPUTING O PEN S TACK Red Pública D UAL N ODE Red de Gestión Nodo(s) de Procesamiento Nodo Controlador 7

9 Í NDICE Introducción. Entorno de trabajo. Cloud Computing, Configuración de una Nube OpenStack. Computación Distribuida Apache Hadoop. Hadoop Distributed File System. Integración Cloud Computing – Apache Hadoop. Programación MapReduce. Librería Hadoop Image Processing Interface. Pruebas de Rendimiento y Ejemplo de Aplicación HIPI. Conclusiones y Trabajo Futuro. 8

10 C LOUD C OMPUTING C OMPUTACIÓN D ISTRIBUIDA A PACHE H ADOOP Entorno de computación distribuida de licencia libre creado por Doug Cutting y promovido por Apache Software Foundation. Aplicaciones sobre grandes volúmenes de datos de manera distribuida. Sistemas con miles de nodos. Alta flexiblidad y escalabilidad. Clústeres con distintas topologías. 9

11 C LOUD C OMPUTING C OMPUTACIÓN D ISTRIBUIDA A PACHE H ADOOP MAESTROESCLAVO(S) T ASK T RACKER J OB T RACKER D ATA N ODE N AME N ODE D ATA N ODE T ASK T RACKER Capa MapReduce Capa HDFS 10

12 C LOUD C OMPUTING H ADOOP D ISTRIBUTED F ILE S YSTEM Diseño específico para Apache Hadoop Mínimas Escrituras – Múltiples Lecturas No posee Alta Disponibilidad Posibilidad de Réplica de Nodos No indicado para sistemas con múltiples archivos de poco tamaño Posibilidad de agrupar los datos en contenedores Tolerancia a Fallos 11

13 C LOUD C OMPUTING H ADOOP D ISTRIBUTED F ILE S YSTEM N AME N ODE N AME N ODE SECUNDARIO D ATA N ODE Réplica de Datos Op. Sincronización Op. sobre Bloque Red de Sincronización Op. Datos 12

14 Í NDICE Introducción. Entorno de trabajo. Cloud Computing, Configuración de una Nube OpenStack. Computación Distribuida Apache Hadoop. Hadoop Distributed File System. Integración Cloud Computing – Apache Hadoop. Programación MapReduce. Librería Hadoop Image Processing Interface. Pruebas de Rendimiento y Ejemplo de Aplicación HIPI. Conclusiones y Trabajo Futuro. 13

15 I NTEGRACIÓN C LOUD C OMPUTING – APACHE HADOOP Hadoop es adaptable a cualquier tipo de máquinas Incluso Virtuales Creamos una instancia virtual en nuestra nube OpenStack Instalamos Hadoop SingleNode en ella. Almacenamos la instancia como patrón Desplegamos tantas instancias como nuestros recursos nos permitan Configuramos Hadoop Multinode 14

16 I NTEGRACIÓN C LOUD C OMPUTING – APACHE HADOOP Seleccionamos un tipo de instancia. Utilizamos una máquina virtual Ubuntu. 15

17 I NTEGRACIÓN C LOUD C OMPUTING – APACHE HADOOP Nos conectamos vía SSH a la instancia. Configuramos Hadoop SingleNode. 16

18 I NTEGRACIÓN C LOUD C OMPUTING – APACHE HADOOP Almacenamos esta máquina virtual configurada con Hadoop SingleNode como patrón de instancias. Desplegamos tantas instancias como los recursos hardware de nuestro sistema Cloud Computing permitan. 17

19 I NTEGRACIÓN C LOUD C OMPUTING – APACHE HADOOP Configuramos Hadoop Multinode. Iniciamos los servicios del entorno distribuido. Primero el HDFS. Finalmente la capa MapReduce. 18

20 Í NDICE Introducción. Entorno de trabajo. Cloud Computing, Configuración de una Nube OpenStack. Computación Distribuida Apache Hadoop. Hadoop Distributed File System. Integración Cloud Computing – Apache Hadoop. Programación MapReduce. Librería Hadoop Image Processing Interface. Pruebas de Rendimiento y Ejemplo de Aplicación HIPI. Conclusiones y Trabajo Futuro. 19

21 P ROGRAMACIÓN M AP R EDUCE Programación Funcional (Map – Reduce) Balanceado de Carga Orientado a Grandes Cantidades de Datos Amplio Soporte Control de Errores en Nodos. Tolerancia a Fallos Licencia Libre Programación Paralela 20

22 P ROGRAMACIÓN M AP R EDUCE F UNCIONAMIENTO 21

23 P ROGRAMACIÓN M AP R EDUCE F UNCIONAMIENTO Los elementos principales de un programa MapReduce son: JobConfMapperReducer Formato de Salida Formato de Entrada No hay un ningún tipo de archivo para trabajar con Imágenes 22

24 Í NDICE Introducción. Entorno de trabajo. Cloud Computing, Configuración de una Nube OpenStack. Computación Distribuida Apache Hadoop. Hadoop Distributed File System. Integración Cloud Computing – Apache Hadoop. Programación MapReduce. Librería Hadoop Image Processing Interface. Pruebas de Rendimiento y Ejemplo de Aplicación HIPI. Conclusiones y Trabajo Futuro. 23

25 P ROGRAMACIÓN M AP R EDUCE L IBRERÍA HIPI Librería creada por la University of Virginia que aporta una API para el procesamiento de imágenes HipiImageBundle FloatImage CullMapper HipiJob 24

26 P ROGRAMACIÓN M AP R EDUCE L IBRERÍA HIPI 25

27 Í NDICE Introducción. Entorno de trabajo. Cloud Computing, Configuración de una Nube OpenStack. Computación Distribuida Apache Hadoop. Hadoop Distributed File System. Integración Cloud Computing – Apache Hadoop. Programación MapReduce. Librería Hadoop Image Processing Interface. Pruebas de Rendimiento y Ejemplo de Aplicación HIPI. Conclusiones y Trabajo Futuro. 26

28 P RUEBAS DE R ENDIMIENTO Y E JEMPLOS DE A PLICACIÓN HIPI Prueba de Rendimiento WordCount Batería de pruebas aumentando el número de libros 27 Carga de Archivos en el Sistema Ejecución MapReduce

29 P RUEBAS DE R ENDIMIENTO Y E JEMPLOS DE A PLICACIÓN HIPI Resultados obtenidos: 28 Test WordCount (Libros)Incluir Archivos en HDFS (mm:ss,d)Ejecución (mm:ss,d) 1000:03,200:45,3 5000:13,101:12, :25,201:41, :42,602:18, :04,603:02, :50,803:58, :25,505:04, :53,805:54, :59,806:46, :21,607:43, :27,108:18, :48,309:44, :12,410:29,9

30 P RUEBAS DE R ENDIMIENTO Y E JEMPLOS DE A PLICACIÓN HIPI Cuanto mayores son los conjuntos de entrada, mejor el comportamiento Las diferencias en los grandes conjuntos son menos significativas 29

31 P RUEBAS DE R ENDIMIENTO Y E JEMPLOS DE A PLICACIÓN HIPI El aumento en el tiempo de ejecución es lineal, por lo que el incremento en la biblioteca de entrada afecta de forma normal. 30

32 P RUEBAS DE R ENDIMIENTO Y E JEMPLOS DE A PLICACIÓN HIPI Libros Segundos Totales Segundos por Libro 10454, , , , , , , , , , , , ,63 31

33 P RUEBAS DE R ENDIMIENTO Y E JEMPLOS DE A PLICACIÓN HIPI Para grandes volúmenes de datos el funcionamiento del HDFS es mucho más eficiente. Un clúster Hadoop junto con la programación MapReduce obtiene mejor rendimiento cuanto mayor son los conjuntos de datos de entrada. El framework Apache Hadoop está diseñado para sistemas en los que los datos se carguen una vez y sobre ellos se realicen múltiples trabajos. CONCLUSIONES PRUEBAS DE RENDIMIENTO 32

34 P RUEBAS DE R ENDIMIENTO Y E JEMPLOS DE A PLICACIÓN HIPI Ejemplo de Aplicación HIPI Generación de contenedor HIB Ejecución sobre el contenedor Descarga de imágenes de la red social Flickr 33

35 P RUEBAS DE R ENDIMIENTO Y E JEMPLOS DE A PLICACIÓN HIPI Ejecución Downloader 34

36 P RUEBAS DE R ENDIMIENTO Y E JEMPLOS DE A PLICACIÓN HIPI Ejecución DumpHIB 35

37 Í NDICE Introducción. Entorno de trabajo. Cloud Computing, Configuración de una Nube OpenStack. Computación Distribuida Apache Hadoop. Hadoop Distributed File System. Integración Cloud Computing – Apache Hadoop. Programación MapReduce. Librería Hadoop Image Processing Interface. Pruebas de Rendimiento y Ejemplo de Aplicación HIPI. Conclusiones y Trabajo Futuro. 36

38 C ONCLUSIONES 37 Se ha cumplido el objetivo principal del proyecto Integrar Cloud Computing y Apache Hadoop. OpenStack junto con StackOps proporciona una forma de configurar sistemas Cloud Computing de manera sencilla. Apache Hadoop ha demostrado ser un sistema de computación distribuido adaptable a cualquier tipo de sistema, incluso virtuales. Queda probado que el entornos Apache Hadoop, el HDFS y la programación MapReduce alcanzan su mayor rendimiento procesando grandes conjuntos de datos La librería Hadoop Image Processing Interface proporciona una API que permite trabajar directamente sobre imágenes en Apache Hadoop

39 T RABAJO F UTURO Crear un programa que incluya la librería HIPI que tome imágenes (por ejemplo de satélite) y detecte figuras o patrones incluidos en ellas. Crear un clúster para analizar los datos de una red social o sistema de gestión de una organización pública o privada Integrar un Sistema de Gestión de Bases de Datos en este entorno. Optimizar el entorno de computación Apache Hadoop implantando alta disponibilidad y utilizando al máximo los recursos del clúster. 39

40 Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López PROCESAMIENTO DE GRANDES VOLÚMENES DE DATOS EN ENTORNOS CLOUD COMPUTING UTILIZANDO HADOOP MAPREDUCE UNIVERSIDAD DE ALMERÍA Ingeniero en Informática


Descargar ppt "Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López PROCESAMIENTO DE GRANDES VOLÚMENES DE DATOS EN ENTORNOS CLOUD COMPUTING."

Presentaciones similares


Anuncios Google