autor: carlos gómez martínez directores: nicolás padilla soriano julio gómez lópez

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

Upload: aileen

Post on 13-Feb-2016

58 views

Category:

Documents


0 download

DESCRIPTION

procesamiento de grandes volúmenes de datos en entornos cloud computing utilizando hadoop mapreduce. UNIVERSIDAD DE ALMERÍA Ingeniero en Informática. Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López. Índice. Introducción. Entorno de trabajo. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

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ÍAIngeniero en Informática

Page 2: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

Í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

Page 3: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

INTRODUCCIÓ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

Page 4: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

Í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

Page 5: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

CLOUD COMPUTING 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.

Page 6: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

CLOUD COMPUTINGVENTAJAS Y DESVENTAJAS

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

Page 7: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

CLOUD COMPUTINGCOMPARATIVA

Page 8: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

CLOUD COMPUTINGOPENSTACK

Red Pública

DUAL NODE

Red de Gestión

Nodo(s) de Procesamiento

Nodo Controlador

7

Page 9: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

Í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

Page 10: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

CLOUD COMPUTINGCOMPUTACIÓN DISTRIBUIDA APACHE

HADOOP

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

Page 11: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

CLOUD COMPUTINGCOMPUTACIÓN DISTRIBUIDA APACHE

HADOOP

MAESTRO ESCLAVO(S)

TASKTRACKER

JOBTRACKER

DATANODE

NAMENODE

DATANODE

TASKTRACKER

CapaMapReduce

CapaHDFS

10

Page 12: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

CLOUD COMPUTINGHADOOP DISTRIBUTED FILE SYSTEM

Diseño específico para Apache

Hadoop

Mínimas Escrituras – Múltiples Lecturas

No posee Alta DisponibilidadPosibilidad 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

Page 13: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

CLOUD COMPUTINGHADOOP DISTRIBUTED FILE SYSTEM

NAME NODE

NAMENODESECUNDARIO

DATANODE DATANODE

Réplica de Datos

Op. Sincronización

Op. sobreBloque

Red de Sincronización

Op. Datos

12

Page 14: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

Í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

Page 15: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

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ónDesplegamos tantas

instancias como nuestros recursos

nos permitan

Configuramos Hadoop

Multinode

14

Page 16: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

INTEGRACIÓN CLOUD COMPUTING – APACHE

HADOOP Seleccionamos un tipo de instancia.

Utilizamos una máquina virtual Ubuntu.

15

Page 17: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

INTEGRACIÓN CLOUD COMPUTING – APACHE

HADOOP Nos conectamos vía SSH a la instancia.

Configuramos Hadoop SingleNode.

16

Page 18: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

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

Page 19: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

INTEGRACIÓN CLOUD COMPUTING – APACHE

HADOOP Configuramos Hadoop Multinode.

Iniciamos los servicios del entorno distribuido.

Primero el HDFS. Finalmente la capa MapReduce.

18

Page 20: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

Í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

Page 21: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

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

Page 22: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

PROGRAMACIÓN MAPREDUCEFUNCIONAMIENTO

21

Page 23: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

PROGRAMACIÓN MAPREDUCEFUNCIONAMIENTO

Los elementos principales de un programa MapReduce son:

JobConf Mapper Reducer

Formato de SalidaFormato de EntradaNo hay un ningún tipo de archivo para trabajar con Imágenes

22

Page 24: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

Í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

Page 25: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

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

Page 26: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

PROGRAMACIÓN MAPREDUCELIBRERÍA HIPI

25

Page 27: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

Í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

Page 28: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

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

Page 29: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

PRUEBAS DE RENDIMIENTO Y

EJEMPLOS DE APLICACIÓN HIPI

Resultados obtenidos:

28

Test WordCount (Libros) Incluir Archivos en HDFS (mm:ss,d) Ejecución (mm:ss,d)

10 00:03,2 00:45,3

50 00:13,1 01:12,4

100 00:25,2 01:41,0

150 00:42,6 02:18,8

200 01:04,6 03:02,9

300 01:50,8 03:58,1

400 02:25,5 05:04,7

500 02:53,8 05:54,7

600 02:59,8 06:46,5

700 03:21,6 07:43,7

800 03:27,1 08:18,0

900 03:48,3 09:44,7

1000 04:12,4 10:29,9

Page 30: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

PRUEBAS DE RENDIMIENTO Y

EJEMPLOS DE APLICACIÓN HIPI

10 50 100 150 200 300 400 500 600 700 800 900 100000:00.0

00:43.2

01:26.4

02:09.6

02:52.8

03:36.0

04:19.2

Incluir Archivos en HDFS

Biblioteca de Entrada

Tiem

po (

mm

:ss,

d)

Cuanto mayores son los conjuntos de entrada, mejor el comportamiento

Las diferencias en los grandes conjuntos son

menos significativas

29

Page 31: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

PRUEBAS DE RENDIMIENTO Y

EJEMPLOS DE APLICACIÓN HIPI

10 50 100 150 200 300 400 500 600 700 800 900 100000:00.0

01:26.4

02:52.8

04:19.2

05:45.6

07:12.0

08:38.4

10:04.8

11:31.2

Ejecución

Biblioteca de Entrada

Tiem

po (m

m:s

s,d)

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

Page 32: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

PRUEBAS DE RENDIMIENTO Y

EJEMPLOS DE APLICACIÓN HIPI

Libros Segundos Totales

Segundos por Libro

10 45” 4,5”50 72” 1,44”

100 101” 1,01”150 139” 0,93”200 183” 0,91”300 238” 0,79”400 305” 0,76”500 355” 0,71”600 407” 0,68”700 464” 0,66”800 498” 0,62”900 585” 0,65”

1000 630” 0,63”

10 50 100 150 200 300 400 500 600 700 800 900 10000

0.51

1.52

2.53

3.54

4.5

Segundos por Libro

Biblioteca de Entrada

Tiem

po (s

egun

dos)

31

Page 33: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

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

Page 34: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

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

Page 35: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

PRUEBAS DE RENDIMIENTO Y

EJEMPLOS DE APLICACIÓN HIPIEjecución Downloader

34

Page 36: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

PRUEBAS DE RENDIMIENTO Y

EJEMPLOS DE APLICACIÓN HIPIEjecución DumpHIB

35

Page 37: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

Í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

Page 38: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

CONCLUSIONES

37

Se ha cumplido el objetivo principal del proyectoIntegrar 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

Page 39: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

TRABAJO FUTURO

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

Page 40: Autor: Carlos Gómez Martínez Directores: Nicolás Padilla Soriano Julio Gómez López

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ÍAIngeniero en Informática

GRACIAS POR SU ATENCIÓN