Upload
leocadia-clemente
View
28
Download
0
Embed Size (px)
Citation preview
Agenda
¿Qué es Big Data?¿Por qué usar Big Data?¿Quién usa Big Data?HadoopArquitectura de Hadoop
Big Data¿Qué es Big Data?
Big Data es un concepto que se aplica a toda aquella información que no puede ser procesada o analizada usando procesos o herramientas convencionales debido al enorme volumen de datos sobre el cual hay que trabajar.
¿Por qué usar Big Data?
¿Quién usa Big Data?
HadoopOpen Source
Desarrollado originalmente por Yahoo
Administrado por Apache Software Foundation
Diseñado para trabajar con petabytes de datos
Pensado para implementarse con hardware económico
Ofrece alta disponibilidad
Escala horizontalmente
Muchas tecnologías de desarrollo están basadas en Hadoop
Bueno aceptación en el mercado
Curva de aprendizaje elevada
No es una base de datos
No es real time
The Apache Hadoop software library is a frameworkthat allows for the distributed processing
of large data sets across clusters of computers using a simple programming model
Características Generales
HadoopHadoop se compone por tres elementos principales
HDFSMapReduceHadoop Common
Componentes Principales
HadoopCreado por Doug CuttingGoogle lo introdujo en 2004Consiste en la ejecución de dos procesos separados, Map y Reduce ParalelismoEscalabilidadTolerancia a fallosCurva de aprendizaje elevada
MapReduce
HadoopRecibe como entrada un par (clave, valor) y recupera como salida uno o varios pares (clave-i, valor-i)
k1 v1
k2 v2
k1 v3
k3 v4
k1 v5
k2 v6
k3 v7
k1 v8
k4 v9
C1 vi1 Map
Map
Map
C2 vi2
C3 vi3
MapReduce - Map
HadoopPara cada (clave1, valor1) de entrada recupera una lista de (clave2, valor2)
k1 v1
k2 v2
k1 v3
k3 v4
k1 v5
k2 v6
k3 v7
k1 v8
k4 v9
MEZCLARY
ORDENAR
k1 v1
k2 v2
k3 v4
k4 v9
v3 v5 v8
v6
v7
MapReduce - Map
HadoopRecibe como entrada un par (clave, lista de valores) y recupera como salida un único par (clave, valor)
k1 v1
k2 v2
k3 v4
k4 v9
v3 v5 v8
v6
v7
k1 vf1
k2
k3
k4
vf2
vf3
vf4
Reduce
Reduce
Reduce
Reduce
MapReduce - Reduce
HadoopEs un componente de Hadoop Lee y escribe sobre el sistema de archivos de Hadoop (HDFS)
JobTracker
TaskTracker TaskTracker TaskTracker
Input Job (Map, Reduce, Input)
Data transfer Data transfer
Assign Task Assign Task Assign Task
MapReduce - Arquitectura
HadoopJobTracker: Planificador de tareas
Registra los trabajos pendientes
Asigna las tareas a los nodos
Mantiene los trabajos cerca de los nodos
Si falla el JobTracker los trabajos pendientes de ejecución se pierden
JobTracker
Input Job (Map, Reduce, Input)
Assign Task
MapReduce - Arquitectura
HadoopTaskTracker
Se llaman TaskTrackers a los nodos
Atienden operaciones de Map y Reduce
Tienen slots asignados para Map y para Reduce
Controla las tareas en ejecución
Notifica al JobTracker acerca del estado del nodo y las tareas
Si un TaskTracker falla o se produce un timeout, esa parte del trabajo ese re planifica
TaskTracker TaskTrackerData transfer
Assign Task Assign Task
MapReduce - Arquitectura
HadoopSignifica Hadoop Distributed File SystemEs el sistema de archivos por defecto de HadoopInspirado en GFSEstructurado en bloques (típicamente 64 MB o 128 MB por bloque)Rebalanceo de bloquesEscalabilidadDisponibilidadModelo de seguridad POSIX
HDFS
Hadoop
NameNode
DataNode DataNode DataNode DataNode
Client
TCP/IPNetworking Metadata
Replicated data blocks
HDFS - Arquitectura
Hadoop
NameNodeEs la pieza central del HDFS
Administra el almacenamiento de datos
No almacena datos en si mismo
Las operaciones de Entrada/Salida no pasan a través de él
Hace de intermediario entre el cliente y los DataNodes
Es un Single Point of Failure
HDFS - Arquitectura
Hadoop
DataNodeCientos o miles de DataNodes por cluster
Organizados en racks
Operaciones de Entrada/Salida ocurren sobre el DataNode
Contienen información replicada
Alta tolerancia a fallas
HDFS - Arquitectura
Hadoop
NameNode
JobTracker
DataNode
TaskTracker
DataNode
TaskTracker
DataNode
TaskTracker
Master
Slave Slave Slave
HDFS - Arquitectura
HadoopPermite interactuar con el HDFS a través de CLIEj: $ hadoop fs –copyFromLocal miArchivo /miHDFSDir Algunos comandos son:
cat
copyFromLocal
copyToLocal
du
dus
cp
rmr
mkdir
HDFS - API
Hadoop ¿Quiénes usan Hadoop?