Hadoop en accion

725 views
636 views

Published on

Presentación que se realiz

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
725
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Hadoop en accion

  1. 1. Hadoop en acción Cluster de bajo perfil para elanálisis de grandes volúmenes de datos
  2. 2. ¿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
  3. 3. 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?
  4. 4. 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
  5. 5. ¿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
  6. 6. ¿Qué es HDFS?● Sistema de archivos distribuido● Diseñado para trabajar de manera eficiente con MapReduce● Trabaja con bloques (64 MB por defecto)
  7. 7. ¿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
  8. 8. ¿Cuándo NO usar HDFS?● Baja latencia● Muchos archivos pequeños● Multiples "escritores"● Modificaciones arbitrarias a los archivos
  9. 9. 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).
  10. 10. Optimización por distancia física
  11. 11. ¿Qué es Hadoop?● Framework para almacenar y procesar grandes volúmenes de datos.● Dont 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)
  12. 12. 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
  13. 13. ¿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
  14. 14. ¿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
  15. 15. Arquitectura - Software
  16. 16. Arquitectura - Hardware
  17. 17. Implementación de Hadoop deMapReduce● 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.
  18. 18. Implementación de Hadoop deMapReduce● 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.
  19. 19. Implementación de Hadoop deMapReduce
  20. 20. Anatomia de un trabajo de Hadoop● Datos de entrada, programa MapReduce e información de configuración● Tareas de mapeo y reducción (map 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
  21. 21. Ejemplo en hadoop● Construir el cluster ○ Instalar software de virtualización ○ Copiar la máquina virtual, configurar e iniciar ○ Descargar Hadoop ○ Crear usuario hadoop ○ Extraer contenidos de Hadoop ○ Instalar java y ssh (servidor y cliente) ○ Añadir el servidor DNS ○ Montar el sistema de archivos en red ○ Implementar ssh sin contraseña ○ Exportar variables de Hadoop● Echar un vistazo a la configuración● Correr el ejemplo
  22. 22. ¿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● Almacenamiento distribuido en espejos y repositorios de distribuciones Linux con el GLUD en el CECAD
  23. 23. Recursos fuente1. White, Tom. Hadoop, the definitive guide. OReilly - Yahoo! Press. 2nd Edition2. Project Gutenberg www.gutenberg.org
  24. 24. Conclusiones
  25. 25. Preguntas
  26. 26. Agradecimientos especiales

×