Este documento describe Hadoop, un framework de código abierto para el procesamiento y almacenamiento de grandes cantidades de datos en sistemas distribuidos. Explica que Hadoop utiliza HDFS para almacenamiento y MapReduce para procesamiento paralelo de datos. También cubre la arquitectura, modos de ejecución y ejemplos de uso de Hadoop, así como algunas desventajas y alternativas.
2. • Introducción
• Hadoop
• Visión Actual
• MapReduce
• HDFS
• Arquitectura
• Funcionamiento
• Modos de Ejecución
• Ejemplos de Uso
• Desventajas
• Alternativas
3. • Introducción
• Hadoop
• Visión Actual
• MapReduce
• HDFS
• Arquitectura
• Funcionamiento
• Modos de Ejecución
• Ejemplos de Uso
• Desventajas
• Alternativas
4. INTRODUCCIÓN
Actualmente el crecimiento exponencial de datos como las
nuevas las nuevas tecnologías de almacenamiento de ellas,
están cambiando la arquitectura de los nuevos sistemas y el
modo con el cual se está acelerando el proceso de esta
información.
Motivo a esto, es la aparición de varias herramientas de código
libre que permiten manejar enormes cantidades de datos en
sistemas distribuidos.
5. • Introducción
• Hadoop
• Visión Actual
• MapReduce
• HDFS
• Arquitectura
• Funcionamiento
• Modos de Ejecución
• Ejemplos de Uso
• Desventajas
• Alternativas
6. HADOOP
Hadoop es un framework de software basado en Java y está
orientado a aplicaciones distribuidas con un uso extensivo de
datos y de alta escalabilidad.
Se presenta como una solución para los programadores sin
experiencia en el desarrollo de aplicaciones para entornos
distribuidos, dado que oculta la implementación de detalles
propios de estos sistemas: paralelización de tareas,
administración de procesos, balanceo de carga y tolerancia a
fallos.
7. • Introducción
• Hadoop
• Visión Actual
• MapReduce
• HDFS
• Arquitectura
• Funcionamiento
• Modos de Ejecución
• Ejemplos de Uso
• Desventajas
• Alternativas
8. VISIÓN ACTUAL
Hoy en día, el análisis de estos enormes volúmenes de datos de
distintos formatos, se están extendiendo paulatinamente en el
mundo de las Empresas, Redes Sociales y Weblogs.
Este fenómeno ha creado una nueva
organización sin fronteras a la que llamamos …
“Big Mc Data”
9. • Introducción
• Hadoop
• Visión Actual
• MapReduce
• HDFS
• Arquitectura
• Funcionamiento
• Modos de Ejecución
• Ejemplos de Uso
• Desventajas
• Alternativas
10. MAPREDUCE
Hadoop proporciona un entorno de ejecución orientado a
aplicaciones desarrolladas bajo el modelo de programación
MapReduce. Bajo este modelo, la ejecución de una aplicación
presenta dos etapas:
• Map: donde se realiza la ingestión y la transformación de los
datos de entrada, en la cual los registros de entrada pueden
ser son procesados en paralelo.
• Reduce: fase de agregación o resumen, donde todos los
registros asociados entre sí deben ser procesados juntos
por una misma entidad.
11. • Introducción
• Hadoop
• Visión Actual
• MapReduce
• HDFS
• Arquitectura
• Funcionamiento
• Modos de Ejecución
• Ejemplos de Uso
• Desventajas
• Alternativas
12. HDFS
Hadoop Distributed File System (HDFS) es un sistema de archivos
distribuido, escalable y portátil escrito en Java para el framework
Hadoop, pensado para almacenar grandes cantidades de
información, del orden Terabytes o Petabytes tolerante a fallos y
diseñado para ser instalado en máquinas de bajo costo.
13. • Introducción
• Hadoop
• Visión Actual
• MapReduce
• HDFS
• Arquitectura
• Funcionamiento
• Modos de Ejecución
• Ejemplos de Uso
• Desventajas
• Alternativas
14. ARQUITECTURA
La arquitectura de Hadoop se sustenta sobre 3 pilares
fundamentales:
• Sistema de Archivos : Denominado HDFS.
• Hadoop MapReduce: Planificador de trabajos, así como una
serie de nodos encargados para llevarlos a cabo.
• Hadoop Common : Conjunto de utilidades que posibiliten la
integración de subproyectos de Hadoop.
15. • Introducción
• Hadoop
• Visión Actual
• MapReduce
• HDFS
• Arquitectura
• Funcionamiento
• Modos de Ejecución
• Ejemplos de Uso
• Desventajas
• Alternativas
16. FUNCIONAMIENTO
Sobre el sistema de archivos se ubica el motor de MapReduce,
que consiste en un planificador de trabajos denominado
JobTracker, a través del que las aplicaciones cliente envían
trabajos MapReduce. Este planificador envía el flujo de trabajo
entrante a los nodos TaskTracker disponibles en el clúster, que se
ocuparán de ejecutar las funciones map y reduce en cada nodo.
17. • Introducción
• Hadoop
• Visión Actual
• MapReduce
• HDFS
• Arquitectura
• Funcionamiento
• Modos de Ejecución
• Ejemplos de Uso
• Desventajas
• Alternativas
18. MODOS DE EJECUCIÓN
Hadoop se puede ejecutar de tres formas distintas:
• Modo Local / Standalone : Por defecto, Hadoop está
configurado para ejecutarse en este modo como un proceso de Java
aislado. Esto es útil para depuración.
• Modo Pseudo-distribuido : Hadoop puede ejecutarse en este
modo, en donde cada tarea se ejecuta en proceso Java diferente.
• Modo Distribuido : Esta es la forma de aprovechar toda
la potencia de Hadoop, ya que se maximiza el paralelismo de
procesos y se utilizan todos los recursos disponibles del clúster en el
que se va a configurar Hadoop.
19. • Introducción
• Hadoop
• Visión Actual
• MapReduce
• HDFS
• Arquitectura
• Funcionamiento
• Modos de Ejecución
• Ejemplos de Uso
• Desventajas
• Alternativas
20. EJEMPLOS DE USO
Existe un gran número de aplicaciones y empresas que utilizan
Hadoop en sus clústers. Entre los más relevantes podemos
mencionar los siguientes:
• Facebook
• Google
• Twitter
• Yahoo!
21. • Introducción
• Hadoop
• Visión Actual
• MapReduce
• HDFS
• Arquitectura
• Funcionamiento
• Modos de Ejecución
• Ejemplos de Uso
• Desventajas
• Alternativas
22. DESVENTAJAS
• La curva de aprendizaje de Hadoop es Alta
• Hadoop no permite hacer lookups
• Hadoop reprocesa todo siempre
• Latencia
23. • Introducción
• Hadoop
• Visión Actual
• MapReduce
• HDFS
• Arquitectura
• Funcionamiento
• Modos de Ejecución
• Ejemplos de Uso
• Desventajas
• Alternativas