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)
277 visualizaciones desde el 14 de Diciembre del 2017
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