PDF de programación - Gestión y Almacenamiento de Datos Masivos - Tema3 - HDFS y Hadoop

<<>>
Imágen de pdf Gestión y Almacenamiento de Datos Masivos - Tema3 - HDFS y Hadoop

Gestión y Almacenamiento de Datos Masivos - Tema3 - HDFS y Hadoopgráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 14 de Diciembre del 2017)
238 visualizaciones desde el 14 de Diciembre del 2017. Una media de 7 por semana
1,8 MB
36 paginas
Big Data Apache Architectures and Applications

Gestión y Almacenamiento

de Datos Masivos
Tema3 - HDFS y Hadoop
http://hadoop.apache.org/

@IsaacLera!

isaac.lera@uib.es!
“¡Desbordante!”

Hadoop

❖ Hadoop es una aplicación que proporciona un sistema de

almacenamiento escalable y confiable sobre HW commodity; Un
sistema distribuido de almacenamiento.!

❖ Facilita la computación paralela siendo una implementación de

MapReduce. !
❖ Hadoop desplaza la ejecución de la aplicación cerca de los datos. !
❖ La organización de la aplicación se basa en la utilización secuencia

de los datos!

❖ La ejecución paralela está garantizada aunque haya nodos que no

respondan.

Isaac Lera - Máster Universitario en Ingeniería Informática

2

Hadoop ecosystem

http://hadoop.apache.org/

Isaac Lera - Máster Universitario en Ingeniería Informática

3

❖ HDFS. Distributed, Reliable Storage. Sistema de ficheros. Es el mecanismo por el
cual un volumen grande de datos puede distribuirse sobre el cluster; una sola
escritura y múltiples lecturas.!

❖ MapReduce, es el principal framework de Hadoop; un modelo de programación

paralelo y distribuido. Separa el proceso entre una fase de mapping y otra de
reduce. !

❖ HBase. A column-oriented NoSQL database. Usado para rápidas lecturas/escrituras

de VG de datos!

❖ Yarn, un framework para la planificación de trabajos, y gestión de los recursos del

cluster.!

❖ Zookeper, es el servicio de coordinación, múltiples componentes de Hadoop

dependen de él.

Isaac Lera - Máster Universitario en Ingeniería Informática

4

❖ Pig, es una abstracción para reducir la complejidad de

programar en MapReduce. Incluye un entorno de ejecución y
un lenguaje de scripting (Pig Latin). Su compilador transforma
Pig Latin en un programa Map Reduce.!

❖ Hive, es un lenguaje de alto nivel para realizar consultas con
sintaxis SQL sobre Hadoop. Transforma la consulta a sintaxis
Hadoop. !

❖ Sqoop, es una herramienta de conectividad para el movimiento

de datos entre bases de datos relacionales y otros sistemas de
almacenamiento a Hadoop.

Isaac Lera - Máster Universitario en Ingeniería Informática

5

Otros componentes

❖ Oozie, es usado para la coordinación de la ejecución de diferentes trabajos
MapReduce. Su gestión puede basarse en tiempo y la presencia de datos. !

❖ Flume, es un servicio distribuido, confiable y altamente disponible para una

eficiente colección, agregación y movimiento de datos entre máquinas individuales
a Hadoop. (streaming)!

❖ Whirr, librerias para facilitar el movimiento entre Hadoop clusters e

infraestructuras como Amazon EC2, Rackspace,…!

❖ Mahout, librerías de algoritmos populares de clustering, regresión y estadísticos.!
❖ BigTop, un entorno de trabajo para el packaging y testeo de interoperabilidad con

subproyectos Hadoop!

❖ Ambari, un proyecto para simplificar la gestión de Hadoop: gestión,

monitorización,…

http://incubator.apache.org/projects/

Isaac Lera - Máster Universitario en Ingeniería Informática

6

Hadoop Distributions

❖ Compañías que integran diferentes componentes de
Hadoop para simplificar y ayudar en su uso. Algunas
crean nuevos proyectos Apache y otras, no.!

❖ Tanto Amazon y Microsoft tienen sus propias variantes
en Amazon AWS y Azure para su compatibilidad con
Amazon S3 y Windows Azure Storage. !

❖ Consideraciones: detalles técnicos, facilidad de

despliegue y mantenimiento, coste, e integración con el
sistema actual.

Isaac Lera - Máster Universitario en Ingeniería Informática

8

Hadoop Distributions

❖ Cloudera: Hadoop2, HDFS, YARN, Hbase, MapReduce,

Hive, Pig, Zookeeper, Oozie, Mahout, Hue, Impala,…
FreeEdition: 50 clusters; …!
http://www.cloudera.com/content/cloudera/en/products-and-services/cdh.html
!
BT, AMD, FICO, QualComm,…

❖ Hortonworks Data Platform: …, Hue, Ambari, Tex,

Stinger, Talend Open Studio for Big Data.
http://hortonworks.com/
ebay, Spotify, Bloomberg, Western Digital, Kayak, …

Isaac Lera - Máster Universitario en Ingeniería Informática

9

Hadoop Distributions

❖ MapR: Hadoop1, HDFS, Hbase, MapReduce, Hive,

Oozie, Mahout, Pig, Zookeeper, Hue,… Ha
implementado cada una de estas librerías en base al
código apache.!
https://www.mapr.com/
!
Cisco, Hp, Samsung, …

❖ IBM InfoSphere: …, Hue, Ambari, Tex, Stinger, Talend

Open Studio for Big Data.
http://hortonworks.com/
http://www-01.ibm.com/software/data/infosphere/

Isaac Lera - Máster Universitario en Ingeniería Informática

10

2010

http://hadoop.apache.org/

HDFS

The Hadoop
Distributed File
System

The Hadoop Distributed File System

❖ HDFS is Hadoop’s implementation of a distributed file system. It is designed to hold a

large amount of data, and provide access to this data to many clients distributed across a
network.!

❖ Run on top of a native filesystem!
❖ Based on Google Filesystem!
❖ Fault Tolerant: disk or machine crashes,…!
❖ Designed for storing very large files with streaming data access patterns, running on clusters

of commodity hardware.!
❖ Streaming data access: write-once, read-many-times;.!

❖ Not so good for:!

❖ low-latency reads (use: HBase); large amount of small files; single/multiples writers

and arbitrary file modifications; random reads

Isaac Lera - Máster Universitario en Ingeniería Informática

12

HDFS es gestionado por 3 Daemons

❖ Namenode gestiona el namespace/metadata del sistema de ficheros.
Mantiene en memoria el árbol de ficheros y los metadatos de todos los
ficheros. Persistentemente almacena una imagen física del namespace
y en el log de edición (fsimage); runs on 1 machine to n-machines.!
❖ en Hadoop v2.x: Alta Disponibilidad - Hay varios namenodes en

standby!

❖ Datanodes almacenan y consulta los bloques, e informan al namenode

la lista de bloques que almacenan; runs on many machines. !
❖ Seconday Namenode periódicamente lee los cambios del fs

registrados en el log y actualiza la imagen del fsimage

Isaac Lera - Máster Universitario en Ingeniería Informática

13

HDFS Daemons

http://www.edureka.co/blog/wp-content/uploads/2014/09/Hadoop2.2.png

HDFS Blocks

❖ Cada fichero es dividido en bloques/blocks!
❖ HDFS es un gestor de ficheros basado en bloques de tamaño:

64MB (default) o 128 MB.!

❖ Los gestiona el namenode y los almacena el datanode.!

❖ Un fichero puede ser más grande que un disco!
❖ Un bloque fijo simplifica la gestión de su metainformación.!
❖ Cada bloque es replicado en diferentes máquinas (“3 por

defecto”): access and fault-tolerance.

Isaac Lera - Máster Universitario en Ingeniería Informática

15

HDFS Blocks

❖ HDFS es un gestor de ficheros basado en bloques de

tamaño: 64Mb (default) o 128 Mb.!

❖ Se consigue reducir el tiempo de seek en comparación

con el tiempo de transferencia!

Tiempo Transferencia >> Tiempo Seek!

Isaac Lera - Máster Universitario en Ingeniería Informática

16

HDFS Blocks

¿Cuántos bloques son necesarios para almacenar 1PT?!

Con 64MB o 128MB

Isaac Lera - Máster Universitario en Ingeniería Informática

17

HDFS Daemons

B1

B2

B1

B1

B2

B2

registro.log (68MB) = B1 y B2 <-Metadatos: bloques, ubicación

NameNodes and DataNodes

• Namenode does NOT directly write or read data: One of the

reasons for HDFS’s Scalability !

• Client interacts with Namenode to update Namenode’s HDFS

namespace and retrieve block locations for writing and
reading!

• Client interacts directly with Datanode to read/write data

Isaac Lera - Máster Universitario en Ingeniería Informática

19

HDFS Client - Reads

Isaac Lera - Máster Universitario en Ingeniería Informática

20

HDFS Client - Write

Isaac Lera - Máster Universitario en Ingeniería Informática

21

HDFS Replication
❖ La gestión de replicar se encarga el namenode!
❖ Política: “rack awareness”!

❖ Dos niveles de localidad: on-machine, off-machine!
❖ El namenode se queda una copia y las otras dos

aleatoriamente van a otro rack!

❖ Política: “rack-aware”!

❖ Un script tiene mapeada la topología de la red!

❖ topology.script.file.name > hadoop-site.xml

Isaac Lera - Máster Universitario en Ingeniería Informática

22

HDFS Federación

❖ HDFS Federation (introducido en 2.x series), permite a

un cluster escalar el número de namenodes; cada
namenodes se encarga de gestionar una parte del árbol de
ficheros. !

❖ Estos espacios son independientes y los namenodes no se

comunican entre sí. !

/user Master0

/log Master1

Isaac Lera - Máster Universitario en Ingeniería Informática

23

Actividad #1

❖ Instalación de Hadoop 2.X

http://hadoop.apache.org/releases.html#Download

http://hadoop.apache.org/docs/r2.5.1/hadoop-project-dist/hadoop-common/

SingleCluster.html

http://localhost:50070

http://130.206.30.97:50070/
http://130.206.30.97:50070/jmx

Isaac Lera - Máster Universitario en Ingeniería Informática

24

Conf.I

sudo apt-get install ssh!
sudo apt-get install rsync!
sudo add-apt-repository ppa:webupd8team/java!
sudo apt-get update!
sudo apt-get install oracle-java7-installer (update-alternatives --config java)!
export JAVA_HOME=/usr/lib/jvm/java-7-oracle/ (/etc/environment)!
wget http://ftp.cixug.es/apache/hadoop/common/hadoop-2.5.2/hadoop-2.5.2.tar.gz!
sudo tar -xzf hadoop-2.5.2-src.tar.gz!
sudo mv hadoop-2.5.2-src hadoop!
sudo mkdir logs!
sudo chmod 755 logs!
sudo chown -R uib /usr/local/hadoop/ (uib = user)!
export HADOOP_HOME=/usr/local/hadoop!
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

Isaac Lera - Máster Universitario en Ingeniería Informática

25

Conf. II

etc/hadoop/hadoop-env.sh!
# The java implementation to use.!
export JAVA_HOME=/usr/lib/jvm/java-7-oracle/!
etc/hadoop/core-site.xml:!
etc/hadoop/hdfs-site.xml:!
!
#Acesso ssh sin introducir password!
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa!
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys!

Isaac Lera - Máster Universitario en Ingeniería Informática

26

Works?

$jps !
18939 NameNode!
19377 Jps!
19065 DataNode!
19272 SecondaryNameNode!

Isaac Lera - Máster Universitario en Ingeniería Informática
  • Links de descarga
http://lwp-l.com/pdf7868

Comentarios de: Gestión y Almacenamiento de Datos Masivos - Tema3 - HDFS y Hadoop (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad