Procesamiento de Grandes Volúmenes de Datos en Entornos Cloud Computing (página 2)
Integración Cloud Computing – 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
Integración Cloud Computing – apache hadoop
Seleccionamos un tipo de instancia.
Utilizamos una máquina virtual Ubuntu.
15
Integración Cloud Computing – apache hadoop
Nos conectamos vía SSH a la instancia.
Configuramos Hadoop SingleNode.
16
Integración Cloud Computing – 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
Integración Cloud Computing – apache hadoop
Configuramos Hadoop Multinode.
Iniciamos los servicios del entorno distribuido.
Primero el HDFS.
Finalmente la capa MapReduce.
18
Programación MapReduce
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
Programación MapReduceFuncionamiento
21
Programación MapReduceFuncionamiento
Los elementos principales de un programa MapReduce son:
JobConf
Mapper
Reducer
Formato de Salida
Formato de Entrada
No hay un ningún tipo de archivo para trabajar con Imágenes
22
Programación MapReduceLibrerí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
Programación MapReduceLibrería HIPI
25
Pruebas de Rendimiento y Ejemplos de Aplicació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
Pruebas de Rendimiento y Ejemplos de Aplicación HIPI
Resultados obtenidos:
28
Pruebas de Rendimiento y Ejemplos de Aplicación HIPI
Cuanto mayores son los conjuntos de entrada, mejor el comportamiento
Las diferencias en los grandes conjuntos son menos significativas
29
Pruebas de Rendimiento y Ejemplos de Aplicació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
Pruebas de Rendimiento y Ejemplos de Aplicación HIPI
31
Pruebas de Rendimiento y Ejemplos de Aplicació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
Pruebas de Rendimiento y Ejemplos de Aplicació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
Pruebas de Rendimiento y Ejemplos de Aplicación HIPI
Ejecución Downloader
34
Pruebas de Rendimiento y Ejemplos de Aplicación HIPI
Ejecución DumpHIB
35
Conclusiones
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
Página anterior | Volver al principio del trabajo | Página siguiente |