SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Hadoop en acción

  Cluster de bajo perfil para el
análisis de grandes volúmenes de
               datos
¿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
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?
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
¿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
¿Qué es HDFS?

● Sistema de archivos distribuido
● Diseñado para trabajar de manera eficiente con
  MapReduce
● Trabaja con bloques (64 MB por defecto)
¿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
¿Cuándo NO usar HDFS?

● Baja latencia
● Muchos archivos pequeños
● Multiples "escritores"
● Modificaciones arbitrarias a los archivos
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).
Optimización por distancia física
¿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)
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
¿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
¿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
Arquitectura - Software
Arquitectura - Hardware
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.
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.
Implementación de Hadoop de
MapReduce
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
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
¿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
Recursos fuente

1. White, Tom. Hadoop, the definitive guide. O'Reilly - Yahoo!
   Press. 2nd Edition
2. Project Gutenberg www.gutenberg.org
Conclusiones
Preguntas
Agradecimientos especiales

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Hadoop
HadoopHadoop
Hadoop
 
Big Data a traves de una implementación
Big Data a traves de una implementaciónBig Data a traves de una implementación
Big Data a traves de una implementación
 
Monta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión IMonta una Infraestructura Big Data para tu Empresa - Sesión I
Monta una Infraestructura Big Data para tu Empresa - Sesión I
 
Introducción a Hadoop
Introducción a HadoopIntroducción a Hadoop
Introducción a Hadoop
 
Presentacion
PresentacionPresentacion
Presentacion
 
BigData y MapReduce
BigData y MapReduceBigData y MapReduce
BigData y MapReduce
 
Hadoop: MapReduce para procesar grandes cantidades de datos
Hadoop: MapReduce para procesar grandes cantidades de datosHadoop: MapReduce para procesar grandes cantidades de datos
Hadoop: MapReduce para procesar grandes cantidades de datos
 
MapReduce en Hadoop
MapReduce en HadoopMapReduce en Hadoop
MapReduce en Hadoop
 
Resilient Distributed Dataset - Analisis paper
Resilient  Distributed Dataset - Analisis paper Resilient  Distributed Dataset - Analisis paper
Resilient Distributed Dataset - Analisis paper
 
Estudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y HiveEstudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y Hive
 
G te c sesion3b- mapreduce
G te c sesion3b- mapreduceG te c sesion3b- mapreduce
G te c sesion3b- mapreduce
 
Hadoop: tecnologias relacionadas
Hadoop: tecnologias relacionadasHadoop: tecnologias relacionadas
Hadoop: tecnologias relacionadas
 
Monta una Infraestructura Big Data para tu Empresa - Sesión II
Monta una Infraestructura Big Data para tu Empresa - Sesión IIMonta una Infraestructura Big Data para tu Empresa - Sesión II
Monta una Infraestructura Big Data para tu Empresa - Sesión II
 
Curso de Ajax
Curso de AjaxCurso de Ajax
Curso de Ajax
 
Monta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu EmpresaMonta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu Empresa
 
Hadoop
HadoopHadoop
Hadoop
 
HDFS
HDFSHDFS
HDFS
 
Panorama BigData (OpenExpo2017)
Panorama BigData (OpenExpo2017)Panorama BigData (OpenExpo2017)
Panorama BigData (OpenExpo2017)
 
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopHerramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
 
Big data para desarrolladores utilizando hadoop y openstack
Big data para desarrolladores utilizando hadoop y openstack Big data para desarrolladores utilizando hadoop y openstack
Big data para desarrolladores utilizando hadoop y openstack
 

Similar a Hadoop en accion

Big Data para desarrolladores utilizando Hadoop y OpenStack
Big Data para desarrolladores utilizando Hadoop y OpenStackBig Data para desarrolladores utilizando Hadoop y OpenStack
Big Data para desarrolladores utilizando Hadoop y OpenStack
Software Guru
 

Similar a Hadoop en accion (20)

Programación Disribuida
Programación DisribuidaProgramación Disribuida
Programación Disribuida
 
Clase Hadoop
Clase HadoopClase Hadoop
Clase Hadoop
 
Spark: una chispa con la velocidad del rayo ¿el sustituto de Hadoop?
Spark: una chispa con la velocidad del rayo  ¿el sustituto de Hadoop?Spark: una chispa con la velocidad del rayo  ¿el sustituto de Hadoop?
Spark: una chispa con la velocidad del rayo ¿el sustituto de Hadoop?
 
Congreso Academy Journal Celaya 2017
Congreso Academy Journal Celaya 2017Congreso Academy Journal Celaya 2017
Congreso Academy Journal Celaya 2017
 
Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Hadoop, Cloud y Spring
Hadoop, Cloud y Spring
 
introduction to hadoop
introduction to hadoopintroduction to hadoop
introduction to hadoop
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Big Data para desarrolladores utilizando Hadoop y OpenStack
Big Data para desarrolladores utilizando Hadoop y OpenStackBig Data para desarrolladores utilizando Hadoop y OpenStack
Big Data para desarrolladores utilizando Hadoop y OpenStack
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupal
 
3. Hadoop
3.  Hadoop3.  Hadoop
3. Hadoop
 
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
 
01 Introduccion a Big Data y Hadoop.pdf
01 Introduccion a Big Data y Hadoop.pdf01 Introduccion a Big Data y Hadoop.pdf
01 Introduccion a Big Data y Hadoop.pdf
 
Paralela9
Paralela9Paralela9
Paralela9
 
Spark Hands-on
Spark Hands-onSpark Hands-on
Spark Hands-on
 
Spark
SparkSpark
Spark
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
 
69 claves para conocer Big Data
69 claves para conocer Big Data69 claves para conocer Big Data
69 claves para conocer Big Data
 
Herramientas BigData.pptx
Herramientas BigData.pptxHerramientas BigData.pptx
Herramientas BigData.pptx
 
Whitepaper – Qué es y cómo utilizar Hadoop
Whitepaper – Qué es y cómo utilizar HadoopWhitepaper – Qué es y cómo utilizar Hadoop
Whitepaper – Qué es y cómo utilizar Hadoop
 

Más de GLUD - Grupo de Trabajo Académico GNU/Linux Universidad Distrital

Más de GLUD - Grupo de Trabajo Académico GNU/Linux Universidad Distrital (20)

Teoría del color
Teoría del colorTeoría del color
Teoría del color
 
101 arquitectura del sistema
101 arquitectura del sistema101 arquitectura del sistema
101 arquitectura del sistema
 
Giseproi hacking ético - bash scripting
Giseproi   hacking ético - bash scriptingGiseproi   hacking ético - bash scripting
Giseproi hacking ético - bash scripting
 
Giseproi conceptos principales de seguridad de la información
Giseproi   conceptos principales de seguridad de la informaciónGiseproi   conceptos principales de seguridad de la información
Giseproi conceptos principales de seguridad de la información
 
Introducción a Go
Introducción a GoIntroducción a Go
Introducción a Go
 
Traducción Thinking in Python
Traducción Thinking in PythonTraducción Thinking in Python
Traducción Thinking in Python
 
Plantillas Twig (Symfony)
Plantillas Twig (Symfony)Plantillas Twig (Symfony)
Plantillas Twig (Symfony)
 
Plantilla caso de_uso
Plantilla caso de_usoPlantilla caso de_uso
Plantilla caso de_uso
 
Presentacion Hacking Etico
Presentacion Hacking EticoPresentacion Hacking Etico
Presentacion Hacking Etico
 
Presentacion software libre
Presentacion software librePresentacion software libre
Presentacion software libre
 
Presentacion evaluacion
Presentacion evaluacionPresentacion evaluacion
Presentacion evaluacion
 
Software Libre en la Educación
Software Libre en la EducaciónSoftware Libre en la Educación
Software Libre en la Educación
 
Conceptos basicos arquitectura de software
Conceptos basicos arquitectura de softwareConceptos basicos arquitectura de software
Conceptos basicos arquitectura de software
 
Presentacion virtualizacion
Presentacion virtualizacionPresentacion virtualizacion
Presentacion virtualizacion
 
Estatutos grupo linux de la universidad distrital francisco josé de caldas
Estatutos grupo linux de la universidad distrital francisco josé de caldasEstatutos grupo linux de la universidad distrital francisco josé de caldas
Estatutos grupo linux de la universidad distrital francisco josé de caldas
 
Presentacion software libre
Presentacion software librePresentacion software libre
Presentacion software libre
 
Presentación introducción gnu linux.odt
Presentación introducción gnu linux.odtPresentación introducción gnu linux.odt
Presentación introducción gnu linux.odt
 
Anteproyecto gobierno electronico
Anteproyecto gobierno electronicoAnteproyecto gobierno electronico
Anteproyecto gobierno electronico
 
Sua: Metaverso Especializado para la Educación
Sua: Metaverso Especializado para la EducaciónSua: Metaverso Especializado para la Educación
Sua: Metaverso Especializado para la Educación
 
Presentacion sua
Presentacion suaPresentacion sua
Presentacion sua
 

Hadoop en accion

  • 1. Hadoop en acción Cluster de bajo perfil para el análisis de grandes volúmenes de datos
  • 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. 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. 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. ¿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. ¿Qué es HDFS? ● Sistema de archivos distribuido ● Diseñado para trabajar de manera eficiente con MapReduce ● Trabaja con bloques (64 MB por defecto)
  • 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. ¿Cuándo NO usar HDFS? ● Baja latencia ● Muchos archivos pequeños ● Multiples "escritores" ● Modificaciones arbitrarias a los archivos
  • 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).
  • 11. ¿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)
  • 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. ¿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. ¿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
  • 17. 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.
  • 18. 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.
  • 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. 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. ¿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. Recursos fuente 1. White, Tom. Hadoop, the definitive guide. O'Reilly - Yahoo! Press. 2nd Edition 2. Project Gutenberg www.gutenberg.org