Hadoop en accion

27
Hadoop en acción Cluster de bajo perfil para el análisis de grandes volúmenes de datos

description

 

Transcript of Hadoop en accion

Page 1: Hadoop en accion

Hadoop en acción

Cluster de bajo perfil para el análisis de grandes volúmenes de

datos

Page 2: Hadoop en accion

¿Quién soy yo?

● Sergio Navarrete Suárez● Estudiante de Ingeniería de Sistemas de la Universidad

Distrital Francisco José de Caldas● Usuario de Linux desde hace tres años aproximadamente● Coordinador General Grupo GNU/Linux Universidad

Distrital Francisco José de Caldas● Equipo Webmaster - Red de Datos Universidad Distrital

Page 3: Hadoop en accion

Contenido

● ¿Qué es MapReduce?● ¿Qué es HDFS?● ¿Cuándo usar HDFS?● ¿Cuándo NO usar HDFS?● Partes de un HDFS● Optimización por distancia física● ¿Qué es Hadoop?● ¿Por qué Hadoop?

Page 4: Hadoop en accion

Contenido

● ¿Cuándo utilizar Hadoop?● Arquitectura de Hadoop● La implementación de Hadoop de MapReduce● Anatomía de un trabajo de Hadoop● Ejemplo en Hadoop● ¿Qué sigue?● Fuentes● Conclusiones● Preguntas● Agradecimientos especiales

Page 5: Hadoop en accion

¿Qué es MapReduce?

● Algoritmo desarrollado por Google para procesar pequeñas cantidades de archivos de gran tamaño.

● Muy rápido comparado con scripts de shell● Implementación rápida, comparado con multiprocesamiento

(preparación de los datos)● Hace uso de hardware de bajo perfil

Page 6: Hadoop en accion

¿Qué es HDFS?

● Sistema de archivos distribuido● Diseñado para trabajar de manera eficiente con

MapReduce● Trabaja con bloques (64 MB por defecto)

Page 7: Hadoop en accion

¿Cuándo usar HDFS?

● Archivos muy, muy grandes (GB o más)● Necesidad de particionar archivos● Fallo de nodos sin perder información● Una escritura, muchas lecturas

Page 8: Hadoop en accion

¿Cuándo NO usar HDFS?

● Baja latencia● Muchos archivos pequeños● Multiples "escritores"● Modificaciones arbitrarias a los archivos

Page 9: Hadoop en accion

Partes de un HDFS

● Namenode: Mantiene el árbol del sistema de archivos y los metadatos.

○ Namespace image○ Edit log

● Datanodes: Contienen los datos. Reportan al Namenode con la información acerca de los bloques actuales.

● Secondary namenode: En el cual se descarga información del edit log para que no se vuelva muy grande en el namenode.

○ Puede funcionar como namenode en caso de que este falle, pero puede haber pérdida de información (no fue diseñado para cumplir esta tarea).

Page 10: Hadoop en accion

Optimización por distancia física

Page 11: Hadoop en accion

¿Qué es Hadoop?

● Framework para almacenar y procesar grandes volúmenes de datos.

● Don't make better hardware. Use more hardware instead.● Orientado a los datos: se enfoca en el uso de disco y el

ancho de banda de la red más que en el procesamiento (aunque esto también puede optimizarse)

Page 12: Hadoop en accion

Breve historia de Hadoop

● Empieza en 2002 con Doug Cutting y Mike Cafarella● Inspirado por los papers de Google en MapReduce y

Google File System● Proyecto nombrado a partir de el elefante de peluche

amarillo del hijo de Doug (de ahí el logo)● Empieza como parte de la manera de manejar los datos de

un motor de búsqueda web (Notch)● Proyecto Apache Hadoop inicia - 2006● Desarrollado y bastante usado en Yahoo!● Usado también en LastFM, Facebook y The New York

Times● 1 TB sort benchmark - 209 seg. - 2008● Minute sort - 500 GB en 59 seg. (1400 nodos)● 100 TB sort benchmark - 173 min. (3400 nodos) - 2009

Page 13: Hadoop en accion

¿Por qué Hadoop?

● Más rápido que un RDBMS para grandes volúmenes de datos (especialmente datos no organizados)

● Más rápido que un HPC tradicional, ya que implementa optimizaciones teniendo en cuenta la topología de la red (optimiza el uso de la red)

● Evita la pérdida de información a través de replicación● API fácil de aprender● Posibilidad de trabajar con lenguajes diferentes a Java

Page 14: Hadoop en accion

¿Cuándo usar Hadoop?

● Se tienen grandes archivos (GB para arriba)● No se tiene un RDBMS● Se tiene el hardware● Se van a hacer muchas más lecturas que escrituras● Programas de tipo clave -> valor

Page 15: Hadoop en accion

Arquitectura - Software

Fuente: Wikipedia.org

Page 16: Hadoop en accion

Arquitectura - Hardware

Page 17: Hadoop en accion

Implementación de Hadoop de MapReduce

● Fase "map"○ Se toma la entrada, se divide en subproblemas y se

distribuyen a los "worker nodes". Estos a su vez pueden hacer lo mismo.

○ Los "worker nodes" procesan los datos y retornan un resultado a su nodo maestro.

○ En algunos casos, esta fase sólo prepara la información para ser procesada por el reductor.

Page 18: Hadoop en accion

Implementación de Hadoop de MapReduce

● Fase "reduce"○ El nodo maestro toma los resultados de la fase "map" de

los "worker nodes" y los combina de alguna manera programada.

○ Si todos los mapeos son independientes entre sí, se puede decir que todos pueden correr en paralelo.

Page 19: Hadoop en accion

Implementación de Hadoop de MapReduce

Page 20: Hadoop en accion

Anatomia de un trabajo de Hadoop

● Datos de entrada, programa MapReduce e información de configuración

● Tareas de mapeo y reducción (pap and reduce tasks)● Jobtracker: Coordina las tareas y las programa para que

sean resueltas por los tasktrackers.● Tasktracker: Resuelve tareas y envía el resultado al

jobtracker.● Cualquier lenguaje que pueda leer desde stdin y escribir a

stdout puede ser utilizado con Hadoop

Page 21: Hadoop en accion

Ejemplo en hadoop

● Construir el cluster○ Instalar software de virtualización○ Copiar la máquina virtual con Hadoop○ Correr la máquina○ Mirar la configuración de Hadoop○ Dar las direcciones IP al maestro○ Añadir llave de ssh a hosts confiables○ Iniciar los demonios (dfs y mapred)○ Hacer prueba de verificación

Page 22: Hadoop en accion

Ejemplo en hadoop

● Descargar e instalar Hadoop● Crear usuario hadoop● Instalar los paquetes adicionales● Configurar el sistema de archivos en red (NFS)● Probar la instalación● Guardar los datos en el HDFS● Entender el problema● Correr el programa● Obtener los resultados● Analizar los resultados

Page 23: Hadoop en accion

¿Qué sigue?

● Análisis de datos astronómicos (Gamma-ray bursts) en el Centro de Computación de Alto Desempeño (CECAD)

● Clasificación de correos electrónicos en la Red de Datos (Universidad Distrital FJC).

● Análisis de logs con el grupo de seguridad del Grupo GNU/Linux de la Universidad Distrital FJC

Page 24: Hadoop en accion

Recursos fuente

1. White, Tom. Hadoop, the definitive guide. O'Reilly - Yahoo! Press. 2nd Edition

2. Project Gutenberg www.gutenberg.org

Page 25: Hadoop en accion

Conclusiones

Page 26: Hadoop en accion

Preguntas

Page 27: Hadoop en accion

Agradecimientos especiales