2. base de datos
2
Big Data
El enfoque para utilizar cualquier tecnología digital,
para una bases de datos debemos entender los fundamentos de diseño y
modelamiento necesario para obtener una óptima arquitectura.
3. base de datos
3
Big Data
❖ Base de Datos persistencia
❖ Base de Datos
❖ Bases de Datos Relacionales
❖ Bases de Datos no Relacionales
4. base de datos
4
Big Data
❖ Base de Datos persistentes
Los sumerios fueron la primera civilización occidental, un pueblo que rebasó la
frontera de la Prehistoria.
6. base de datos
6
Big Data
❖ Base de Datos persistentes
La técnica para preservar imágenes a largo plazo, reconstruir documentos y
almacenar archivos es conocida como microfilmación, cuyo origen se remonta al año
1839, cuando el inglés John Benjamin Dancer elaboró la primera reducción de una
fotografía a 160 menos veces su tamaño del original con una cámara fotográfica
11. base de datos
11
Big Data
base de datos
Data Science: Es aplicar todo lo que hemos visto,
técnicas de ETL, Data Mining, Business Intelligence.
Aunque está más dirigida a personas con background
de estadísticas
Hoy en día también participan personas con el perfil
de Data Engineering.
❖
12. base de datos
12
Big Data
base de datos
Machine Learning
❖ clasificación de patrones
❖ predicción
17. Claudio Isaias Huancahuire Bravo
“ARQUITECTURA PARA EL PROCESAMIENTO
DISTRIBUIDO DE DATOS NO ESTRUCTURADOS CON
FRAMEWORK HADOOP”
Big Data
CUARTA REVOLUCIÓN INDUSTRIAL
18. Inicio
DFS .
Inicio Hadoop Versión 2
Arquitectura para Big Data
Límite DatawareHouse
ETL (extraer, transformar y cargar)
ERP & CRM
Límite
SQL
MySq, Oracle, SqlServer.
Límite Filas y Columnas
El número de filas en Excel 97-2003 es 65536.
El número de columnas en Excel 97-2003 es 256
HISTORIA DE BIG DATA
21. •Infographic Style
20 % 80 %
DATOS
Estructurados
DATOS
Semi-estructurado
s
Y NO
Estructurados
INTRODUCCIÓN
22. •Infographic Style
Estructurado
20 % No Estructurado
80 %
INTRODUCCIÓN
Los datos se almacenaban únicamente con formatos estructurados
en Excel, Spss, SQLServer, Oracle, MySql, etc. con equivalencia al
20%. Sin embargo, desde los formatos semiestructurados y no
estructurados. Provenientes de Internet, Web 2.0, Google, Amazon,
Redes Sociales (Facebook, Twitter, WhatsApp) técnicamente
definidos como PetaByte, ExaByte, ZettaByte, YottaByte,
BrontoByte los trata exclusivamente Big Data. Son equivalentes al
80%.
23. •Infographic Style
Estructurado
20 % No Estructurado
80 %
En la nube, la solución diseñada es por medio de una
supercomputadora de Empresas como IBM, Amazon Web Service,
Oracle, Microsoft Azuze, Cloudera, HortonWorks y DataProc de
Google.
Localmente a través de computadoras de precios módicos unidas
en redes utilizando tecnología Hadoop (código abierto) la cual
permite procesar a las aplicaciones en miles de nodos escalables
horizontalmente.
INTRODUCCIÓN
24. En este contexto una de las primeras
características de estos exorbitantes
volúmenes de datos, es que están
constituidos mayoritariamente por datos
semi estructurados y no estructurados,
que requiere de tecnologías que implican
innovaciones que van más allá de los
procesos convencionales
NECESIDAD
25. “En el año 2011, toda la información del
mundo se ha generado hasta el año 2003, es
equivalente a 5 Exabyte, añadiendo que
ahora esa cifra se genera en dos días”.
Este crecimiento exponencial se estima que
aumentarán de 2.8 ZB en 2012 a 40 ZB para
2020 a gran escala. Datos exhorbitantes
NECESIDAD
26. La gestión de grandes cantidades de datos
enmarcado todo ello en de Big Data, ahora está
en todos los sectores: como la Agricultura,
Industria y Construcción, Educación,
Transporte, Turismo, Económica, Salud y en
Organizaciones y Empresas.
Genrando la necesidad de obtener
permanentemente un supercomputador o
servidor de altas prestaciones y escalar vertical
por precio exorbitante.
NECESIDAD
27. Las diferentes fuentes como:
✔ La web 2.0 que dio el proceso de interactuar con el
almacenamiento de datos en línea de transacciones,
ventas, compras.
✔ Los sensores
✔ IoT (Internet de las Cosas).
✔ Es ineludible contar con las redes sociales
✔ De teléfono fijo a un "Smartphone".
Datos de diferentes tipos como son:
Estructurado, semi-estructurado y no estructurado
INGESTA DE DATOS
28. TIPOS DE DATOS
✔ DATOS ESTRUCTURADOS
Son datos con formato o esquema fijo que poseen
campos fijos, que se especifica en detalle. Formatos
típicos son: fecha de nacimiento, DNI.
Ejm. Excel,SQL y Datawarehouse
✔ DATOS SEMI-ESTRUCTURADOS
Datos que no tienen formatos fijos, pero contienen
etiquetas y otros marcadores que permiten separar
los elementos dato. Un ejemplo típico son los
registros Web logs.
29. ✔ DATOS NO ESTRUCTURADOS
Son datos sin tipos predefinidos. Se almacenan como
“documentos” u “objetos” sin estructura uniforme, y se
tiene poco o ningún control sobre ellos. Por ejemplo,
las imágenes se clasifican por su resolución en píxeles.
Datos que no tienen campos fijos; ejemplos típicos
son: audio, video, fotografías, documentos impresos,
cartas, hojas electrónicas, imágenes digitales,
formularios especiales, mensajes de correo electrónico
y de texto, formatos de texto libre como correos
electrónicos, mensajes instantáneos SMS, artículos,
libros, mensajes de mensajería instantánea tipo
WhatsApp
TIPOS DE DATOS
34. Verma, en su trabajo de representación de grandes datos para el
análisis de grado a través de Hadoop Framework, India (2016)
Sidhu, en su trabajo de procesamiento por lotes
eficiente de tareas relacionadas de Big Data utilizando
la técnica de MapReduce persistente, India (2016)
Big data y Spark: Comparación con
Hadoop, Ismail University - Marruecos
(2020)
Un proyecto de código abierto para ajustar y
analizar el rendimiento de MapReduce en
Hadoop y Spark, Donghua Chen (2022)
BASE TEORICA
35. Parámetros clave como componentes son:
✔ Sistema de almacenamiento
✔ Administración de recursos
✔ Tolerancia a fallas
✔ Procesamiento de datos
✔ Escalabilidad
✔ Rendimiento
BASE TEORICA
36. “La Fundación de Software
Apache. Proporciona soporte
para los proyectos de software
de la Comunidad de código
abierto”
BASE TEORICA
37. ✔ Implementación de una
arquitectura de clúster con
Apache Hadoop.
Objetivo General.
38. ✔ Diseñar la estructura de
almacenamiento y procesamiento
distribuido de datos no estructurados
con Hadoop Distributed File System
(HDFS)
✔ Ejecutar el proceso paralelo con
modelo de programación MapReduce.
✔ Aplicar 3 nodos mínimo.
Objetivo Específico.
40. 2
Compendio
Las limitaciones digitales de almacenamiento estructurado de filas y columnas de
Microsoft-Excel, fueron resueltas por sistemas denominados Administradores de Sistema de
Base de Datos Relacional-RDBMS, que integra modelo Entidad-Relación y el Lenguaje
Estructurado de Consultas-SQL de Microsoft SQL-Server, MySql, PostgresSQL y Oracle SQL
Developer. Estos datos estructurados fueron mejorados con ETL (extraer, transformar y cargar)
en Data Warehouse (almacén de datos) todo ello enmarcado en arquitectura y software
convencional y tradicional. Ahora interactuamos con Big Data con la limitación de
exponencialmente grandes datos, por rendimiento y precios exorbitantes para su tratamiento.
La limitación de almacenamiento tradicional y convencional es Big Data. “En el año
2011 se pretendía cuantificar la cantidad de información generada y almacenada en el mundo.
Google, con Eric Schmidt, afirmó que la Humanidad había creado hasta 2003 una cantidad
equivalente a 5 Exabytes, añadiendo que ahora esta cifra se generaba en 2 días”.
(https://www.sciencemag.org/). Las diferentes fuentes como: La web 2.0 que dio el proceso de
interactuar con el almacenamiento de datos en línea de transacciones, ventas, compras, los
sensores, IoT (Internet de las Cosas), es ineludible contar con las redes sociales digitales y
además el avance del TIC de un teléfono fijo a un "Smartphone". Datos de diferentes tipos como
son: Estructurado, semi-estructurado y no estructurado que son: Correos electrónicos, log, un
documento de algún procesador de palabra, hojas electrónicas, una imagen, un objeto, blogs,
mensajes de correo de voz, mensajes instantáneos, contenidos Web, audios y videos. Datos a una
velocidad no tradicional datos que interactúan en streaming. Todo esto enmarcado en Big Data a
precios no asequibles para los diferentes sectores.
41. 3
Tabla de Contenidos
CAPÍTULO I
INSTALACIÓN DE HERRAMIENTAS OPENSOURCE 4
1.- Descargar e instalar Virtual Box. 4
2.- Descargar e instalar Sistema Operativo 4
4.- Contenido del sistema operativo CentOS 19
3.- Descargar HADOOP version estable 19
4.- Descargar JDK compatible con HADOOP y Sistema Operativo 20
42. 4
CAPÍTULO I
INSTALACIÓN DE HERRAMIENTAS OPENSOURCE
1.- Descargar e instalar Virtual Box.
Oracle VM VirtualBox es un software de virtualización para arquitecturas x86/amd64.
Actualmente es desarrollado por Oracle Corporation como parte de su familia de
productos de virtualización.
https://www.virtualbox.org/wiki/Downloads
2.- Descargar e instalar Sistema Operativo
CentOS es una distribución Linux que consiste en una bifurcación a nivel binario de la
distribución GNU/Linux Red Hat Enterprise Linux RHEL, compilado por voluntarios a
partir del código fuente.
44. 6
Enlace de descarga, compatible con el dispositivo.
http://mirror.epn.edu.ec/centos/7.9.2009/isos/x86_64/
45. 7
Empecemos:
1º Una vez obtenida la iso de CentOS abrimos el Virtual Box, pulsamos sobre nueva, le pones
un nombre a la máquina y en versión selecciona other linux :
2º Asignamos la RAM que utilizará CentOS de nuestro ordenador, en mi caso 2 GB.
47. 9
4º En este paso conviene prestar especial cuidado ya que si dejamos el tipo de archivo de disco
duro en VDI no podremos usar este sistema virtual en otro virtualizador (VMWARE por
ejemplo), en mi caso como solo utilizo este lo dejo como está.
5º Ahora nos pedire seleccionar entre disco duro reservado dinámicamente o de tamaño fijo, lo
mejor es dejarlo en reservado dinámicamente ya que así solo ocupará lo que necesite.
48. 10
6º En este paso nos pide que seleccionemos el tamaño del archivo del sistema virtualizado y
donde lo queremos guardar, lo normal es dejar un tamaño de unos 20 gb, aunque recordemos
que solo usará el que necesite si seleccionamos anteriormente reservado dinámicamente, por
defecto el archivo se guarda en una carpeta en disco
local>usuarios>nombreUsuario>VirtualBox VMs. Pulsamos sobre “crear”.
49. 11
7º Ahora pulsamos sobre configuración, vamos al apartado almacenamiento y añadimos en
controlador IDE (simbolo de cd con un +) la iso de CentOS que descargamos antes y pulsamos
“OK”.
50. 12
8º Ahora pulsamos iniciar, la máquina se iniciará y nos pedirá elegir si instalar CentOS o probar
el disco, seleccionamos la primera opción:
51. 13
9º Comienza el proceso para instalar CentOS, en este paso nos pedirá que seleccionemos el
idioma de instalación, en mi caso Español (España) y pulsamos «continuar».
10º Ahora nos pide que seleccionemos el destino de instalación, lo seleccionamos.
52. 14
11º Ahora pulsamos sobre selección de software, se nos abre una ventana y seleccionamos
«servidor con GUI» y «KDE».
56. 18
16º ¡Felicidades! CentOS está instalado en tu Virtual Box, ahora ya puedes usarlo.
Ahora que CentOS está instalado se recomienda instalar las guest additions pulsando en la parte
superior sobre dispositivos y “insertar imagen de CD de las <<Guest additions>>. nos pedira la
contraseña que introducimos antes (la de root) y se instalarán.
57. 19
3.-Contenido del sistema operativo CentOS
4.- Descargar HADOOP version estable
El proyecto Apache™ Hadoop® desarrolla software de código abierto para computación
distribuida confiable y escalable.
La biblioteca de software Apache Hadoop es un marco que permite el procesamiento distribuido
de grandes conjuntos de datos en grupos de computadoras utilizando modelos de programación
simples. Está diseñado para escalar desde servidores individuales a miles de máquinas, cada una
de las cuales ofrece computación y almacenamiento local. En lugar de depender del hardware
58. 20
para brindar alta disponibilidad, la biblioteca en sí está diseñada para detectar y manejar fallas
en la capa de la aplicación, por lo que brinda un servicio de alta disponibilidad sobre un grupo
de computadoras, cada una de las cuales puede ser propensa a fallas.
o Bien
59. 21
5.- Descargar JDK compatible con HADOOP y Sistema Operativo
https://www.oracle.com/java/technologies/downloads/#jdk18-linux
BIBLIOGRAFIA
Aguilar, L. J. (2013). Big Data: Análisis de grandes volúmenes de datos en organizaciones.
México: Alfaomega.
60. 22
Alapati, S. R. (2017). Administracion experta de Hadoop. Estados Unidos de América:
Pearson.
ALópez Borrull, A. C. (2013). La Colaboración Científica en el marco de nuevas propuestas
Científicas: BIG DATA. Catalunya: Universidad Oberta de Catalunya.
American Psychological Association. (2010). Manual de Publicaciones de la American
Psychological Association (6 ed.). (M. G. Frías, Trad.) México, México: El Manual
Moderno.
Bhimani, J., & Leeser, M. (2017). Aceleración de aplicaciones de big data utilizando un
marco de virtualización ligero en la nube empresarial. Waltham,USA: IEEE.
Dean, J., & Ghemawat, S. (2008). MapReduce: procesamiento de datos simplificado en
grandes grupos. Nueva York: ACM.
Echevarría, R. R. (2014). Estudio, análisis y evaluación del framework Hadoop. Madrid:
Universidad Pontificia Comillas.
Echevarría, R. R. (2014). Estudio, Análisis y evaluación del Framework Hadoop. Madrid.
Ghazi, M. R. (2015). Hadoop, MapReduce and HDFS: A Developers Perspective. India:
ELSEVIER.
http://www.apache.org/.
62. ii
Compendio
Las limitaciones digitales de almacenamiento estructurado de filas y columnas de
Microsoft-Excel, fueron resueltas por sistemas denominados Administradores de Sistema de Base
de Datos Relacional-RDBMS, que integra modelo Entidad-Relación y el Lenguaje
Estructurado de Consultas-SQL de Microsoft SQL-Server, MySql, PostgresSQL y Oracle SQL
Developer. Estos datos estructurados fueron mejorados con ETL (extraer, transformar y cargar) en
Data Warehouse (almacén de datos) todo ello enmarcado en arquitectura y software
convencional y tradicional. Ahora interactuamos con Big Data con la limitación de
exponencialmente grandes datos, por rendimiento y precios exorbitantes para su tratamiento.
La limitación de almacenamiento tradicional y convencional es Big Data. “En el año 2011
se pretendía cuantificar la cantidad de información generada y almacenada en el mundo. Google,
con Eric Schmidt, afirmó que la Humanidad había creado hasta 2003 una cantidad equivalente a 5
Exabytes, añadiendo que ahora esta cifra se generaba en 2 días”. (https://www.sciencemag.org/).
Las diferentes fuentes como: La web 2.0 que dio el proceso de interactuar con el almacenamiento
de datos en línea de transacciones, ventas, compras, los sensores, IoT (Internet de las Cosas), es
ineludible contar con las redes sociales digitales y además el avance del TIC de un teléfono fijo a
un "Smartphone". Datos de diferentes tipos como son: Estructurado, semi-estructurado y no
estructurado que son: Correos electrónicos, log, un documento de algún procesador de palabra,
hojas electrónicas, una imagen, un objeto, blogs, mensajes de correo de voz, mensajes
instantáneos, contenidos Web, audios y videos. Datos a una velocidad no tradicional datos que
interactúan en streaming. Todo esto enmarcado en Big Data a precios no asequibles para los
diferentes sectores.
63. iii
Tabla de Contenidos
Comandos Linux para Hadoop COMANDO LINUX PARA HADOOP....................................... 4
Comando alternatives.................................................................................................................. 4
Comando .bashrc......................................................................................................................... 4
Comando cp ................................................................................................................................ 5
Comando cat ............................................................................................................................... 5
Comando chmod......................................................................................................................... 5
Comando ls ................................................................................................................................. 5
Comando cd ................................................................................................................................ 6
Comando gedit............................................................................................................................ 6
Comando jar................................................................................................................................ 6
Comando jps ............................................................................................................................... 7
Comando pwd............................................................................................................................. 7
Comando linux............................................................................................................................ 8
Comando mkdir .......................................................................................................................... 8
Comando mv............................................................................................................................... 8
Comando chown ......................................................................................................................... 9
Comando rm................................................................................................................................ 9
Comando rpm.............................................................................................................................. 9
Comando tar................................................................................................................................ 9
Comando SU............................................................................................................................. 10
Comando SCP........................................................................................................................... 10
Comando ssh-keygen................................................................................................................ 11
64. 4
Comandos Linux para Hadoop
COMANDO LINUX PARA HADOOP
Comando alternatives
update-alternatives
crea, elimina, gestiona y muestra información sobre los enlaces simbólicos que
conforman el sistema de alternativas del sistema Linux.
Es posible que tenga en el sistema varios programas instalados a la vez que realizan
la misma función. Por ejemplo, muchos sistemas tienen varios editores de texto
instalados al mismo tiempo, lo que deja la elección de qué editor de texto utilizar
en manos del usuario, si éste lo desea, pero hace difícil que un programa elija la
opción correcta si el usuario no ha definido ninguna preferencia.
ÓRDENES
--config [nombre] Muestra las alternativas disponibles para un grupo de enlaces y
permite al usuario seleccionar interactivamente cual usar.
Comando .bashrc
.bashrc y /etc/bashrc o /etc/bash.bashrc, son archivos shell script que nos permiten
configurar Bash cuando se inicia una Shell bash (Bourne-again shell). Configuraciones
como puede ser, crear alias de órdenes, definición de funciones, opciones de la Shell
como la configuración del prompt, etc.
Ambos archivos se cargan cada vez que un usuario ejecuta Bash. Cuando Bash inicia
una Shell bash (Bourne-again shell), la Shell primero lee el archivo /etc/bashrc o
/etc/bash.bashrc (según que distribución utilicemos)
¿Qué es el bash de Linux?
Bash (abreviación de Bourne Again SHell) es una shell de Unix, y un intérprete de
lenguaje de comandos. Una shell es simplemente un macroprocesador que ejecuta
65. 5
comandos. Es la shell más utilizada de forma predeterminada para la mayoría de
distribuciones de Linux y es un sucesor de la shell Korn (ksh) y shell C (csh)
Bourne shell se clasifica además como:
➢ Korn shell (ksh)
➢ Bourne shell (sh)
➢ POSIX shell (sh)
➢ Bourne Again shell (bash)
Comando cp
La función principal de CP es sencilla: copiar uno o más archivos a una ubicación especificada
por el usuario. Para ello, hay dos datos especialmente importantes: el nombre del archivo y el
lugar de destino de la operación.
La sintaxis del comando CP está estructurada de la siguiente manera:
cp [Origen] [Destino]
Comando cat
Una de las órdenes más usadas de Linux. Se usa sobre todo para emitir el contenido de un
archivo en la línea de comandos.
Comando chmod
El programa de línea de comandos chmod, abreviatura de change mode (cambiar modo en
inglés) se lanza a comienzos de 1970, cuando AT&T publica la primera versión de Unix. En
los sistemas operativos tipo Unix multiusuario, chmod sirve para asignar permisos de acceso
a carpetas y directorios en sistemas de archivos compatibles con los permisos de archivo
típicos de Unix
Comando ls
Este comando enumera el contenido del directorio que desee, archivos y otros directorios
anidados. Cuando se usa sin opciones ni argumentos, ls muestra una lista en orden alfabético
de los nombres de todos los archivos en el directorio de trabajo actual.
Puedes usar estas variaciones con el comando ls:
ls -R Enumera todos los archivos en los subdirectorios
ls -a Lista los archivos ocultos
ls -al Muestra los archivos y directorios con información detallada como los permisos, el
tamaño, el propietario, etc.
66. 6
Comando cd
El comando cd o de cambio de directorio. Con la ayuda de este comando, podemos navegar
por todos nuestros directorios en nuestro sistema. Las opciones que nos permite serían:
Cambiar del directorio actual a un nuevo directorio
Cambiar directorio usando una ruta absoluta
Cambiar directorio usando la ruta relativa
Cambiar al directorio de inicio
Cambiar al directorio anterior
Cambiar al directorio principal
Cambiar al directorio raíz
Comando gedit
gedit es un editor de textos compatible con UTF-8 para Solaris, GNU/Linux, macOS
y Microsoft Windows. Diseñado como un editor de textos de propósito
general, gedit enfatiza la simplicidad y facilidad de uso. Incluye herramientas para la
edición de código fuente y textos estructurados, como lenguajes de marcado
Comando jar
A continuación, tenemos que compilar y empaquetar la clase en un archivo JAR
utilizando las utilidades javac y jar como se muestra.
$ jar cvf pruebatapp.jar pruebaApp.class
67. 7
Comando jps
OpenJDK, sin embargo, tiene su propio monitor de proceso específico. La herramienta
Java Virtual Machine Process Status (jps) le permite escanear cada instancia en
ejecución de Java Virtual Machine (JVM) en su sistema.
PID es una abreviatura de process ID, o sea, ID del proceso o bien identificador
de procesos. El identificador de procesos es un número entero usado por el kernel de
algunos sistemas operativos (como el de Unix o el de Windows NT) para identificar
un proceso de forma unívoca
La opción -l nos sirve para ver también el package de la clase
Comando pwd
El comando pwd se usa para localizar la ruta del directorio de trabajo en el que te
encuentras. Por ejemplo, si mi nombre de usuario es «miriam» y estoy en mi directorio
Documentos, la ruta absoluta sería: /home/miriam/Documents.
68. 8
Comando linux
Un comando Linux es un programa o utilidad que se ejecuta en la línea de comandos.
Una línea de comandos es una interfaz que acepta líneas de texto y las procesa en forma
de instrucciones para tu ordenador. Cualquier interfaz gráfica de usuario (GUI) no es
más que una abstracción de los programas de línea de comandos
Comando mkdir
Este comando permite a los usuarios crear directorios (carpetas). Posibilita la creación
de varios directorios a la vez, así como establecer los permisos para los directorios.
Comando mv
1.- Cambiar el nombre de un archivo
Este es el uso más común de mv pero que a un usuario principiante le puede parecer
extraño.
$ mv nombre1.txt archivo1.txt
En el ejemplo anterior el nombre del archivo «nombre1.txt» es cambiado por el
nombre «archivo1.txt», de la forma que se encuentra el archivo solo cambiará de
nombre y no de ubicación.
2.- Re nombrar un directorio
Cambiar el nombre de un directorio es prácticamente lo mismo que un archivo,
recuerda que en Linux «Todo es un Archivo» por lo que usar el comando mv con un
directorio para cambiar su nombre es igual.
$ mv directorio nueva-carpeta
3.- Mover archivos de ubicación
69. 9
Para mover un archivo a una ubicación diferente el DESTINO debes ser un directorio
existente, si este es el caso el archivo mantendrá el mismo nombre pero se trasladará a
la nueva ruta.
$ mv archivo1.txt ./nueva-carpeta
Comando chown
Permite cambiar el propietario del archivo o directorio. También se puede usar para
cambiar la propiedad del grupo para el archivo o directorio.
Comando rm
Eliminar archivos y directorios.
Comando rpm
instalación#
rpm –ivh <package_name>
-i instalación
-v detalles
-h Muestra el progreso de la instalación en la barra de información de instalación;
Comando tar
Este comando se utiliza para crear y extraer archivos de almacenamiento.
- v : Ejecute el comando en modo detallado para mostrar el progreso del archivo de
almacenamiento.
- f : Especifique el nombre del archivo de almacenamiento.
70. 10
-x : Extrae el archivo de almacenamiento al disco.
Comando SU
su permite usar el intérprete de comandos de otro usuario sin necesidad de cerrar la sesión
actual. Comúnmente se usa para obtener permisos de root para operaciones administrativas
sin tener que salir y reentrar al sistema.
Uname -m muestra la arquitectura del procesador de la máquina
Uname -r muestra la versión del kernel utilizada.
Uname -a muestra el nombre del nodo
Comando SCP
El comando SCP (Secure Copy Protocol) de Linux es un protocolo de
transferencia de archivos en red que permite la transferencia de archivos fácil y
segura entre un host remoto y uno local, o entre dos ubicaciones remotas. Se basa
en el Protocolo de Copia Remota de Berkeley Software Distribution.
Los desarrolladores full-stack utilizan con frecuencia el comando SCP para sus
funciones de autenticación y cifrado sin requerir servicios de alojamiento de
terceros como Github. Es una forma fácil de evitar la exposición de tus datos a
rastreadores de paquetes, y de preservar su confidencialidad.
En esencia, SCP es una mezcla de RCP y SSH (Secure Shell). Se basa en el
primero para realizar operaciones de copia y en el segundo para cifrar la
información y autenticar los sistemas remotos.
El programa rcp (copia remota) era una herramienta para copiar archivos a / desde
computadoras remotas. Desde entonces ha sido reemplazado por ssh,
particularmente la herramienta scp.
71. 11
Comando ssh-keygen
Puede utilizar la utilidad de línea de comandos ssh-keygen para crear claves RSA
y DSA para la autenticación de clave pública, para editar las propiedades de las
claves existentes y para convertir formatos de archivo.
BIBLIOGRAFIA
Aguilar, L. J. (2013). Big Data: Análisis de grandes volúmenes de datos en organizaciones.
México: Alfaomega.
73. ii
Compendio
Las limitaciones digitales de almacenamiento estructurado de filas y columnas de
Microsoft-Excel, fueron resueltas por sistemas denominados Administradores de Sistema de Base
de Datos Relacional-RDBMS, que integra modelo Entidad-Relación y el Lenguaje
Estructurado de Consultas-SQL de Microsoft SQL-Server, MySql, PostgresSQL y Oracle SQL
Developer. Estos datos estructurados fueron mejorados con ETL (extraer, transformar y cargar) en
Data Warehouse (almacén de datos) todo ello enmarcado en arquitectura y software
convencional y tradicional. Ahora interactuamos con Big Data con la limitación de
exponencialmente grandes datos, por rendimiento y precios exorbitantes para su tratamiento.
La limitación de almacenamiento tradicional y convencional es Big Data. “En el año 2011
se pretendía cuantificar la cantidad de información generada y almacenada en el mundo. Google,
con Eric Schmidt, afirmó que la Humanidad había creado hasta 2003 una cantidad equivalente a 5
Exabytes, añadiendo que ahora esta cifra se generaba en 2 días”. (https://www.sciencemag.org/).
Las diferentes fuentes como: La web 2.0 que dio el proceso de interactuar con el almacenamiento
de datos en línea de transacciones, ventas, compras, los sensores, IoT (Internet de las Cosas), es
ineludible contar con las redes sociales digitales y además el avance del TIC de un teléfono fijo a
un "Smartphone". Datos de diferentes tipos como son: Estructurado, semi-estructurado y no
estructurado que son: Correos electrónicos, log, un documento de algún procesador de palabra,
hojas electrónicas, una imagen, un objeto, blogs, mensajes de correo de voz, mensajes
instantáneos, contenidos Web, audios y videos. Datos a una velocidad no tradicional datos que
interactúan en streaming. Todo esto enmarcado en Big Data a precios no asequibles para los
diferentes sectores.
74. iii
Tabla de Contenidos
CAPÍTULO I INSTALACION Y CONFIGURACION HADOOP............................................... 4
1.- Instalación de Hadoop ........................................................................................................... 4
3.- HDFS en un nodo .................................................................................................................. 7
4.- Arrancar HDFS..................................................................................................................... 9
5.- Mostrar Web de administración de HDFS. ........................................................................... 9
6. MapReduce & YARN en un nodo........................................................................................ 11
7. Mostrar 3 nodos .................................................................................................................... 14
8. Configurar SSH entre los 3 nodos ........................................................................................ 15
9. Comunicación entre 3 nodos, modo SSH ............................................................................. 49
10. Arrancar 3 nodos................................................................................................................. 50
75. 4
CAPÍTULO I
INSTALACION Y CONFIGURACION HADOOP
1.- Instalación de Hadoop
Sistema
RAM.
Disco
CPU
Arquitectura
Sistema Operativo.
Hadoop.
Java
Dirección IP
Lenovo.
16 GB.
HDD
Intel(R)Xeon(R)CPU E3-1270 v6@3.8Ghz 3.79GHz.
64 bits.
Centos 7
Versión 10.x
Version JDK 1.8.
Clase C
76. 5
2.- Instalación en un nodo
Base de la infraestructura para el diseño del clúster, se requiere descargar Hadoop
2.9.2.tar.gz de http://hadoop.apache.org/, jdk-8u241-linux-x64.rpm y, como referencia
la figura.
Figura. Ubicación de Hadoop, para descomprimir.
Instalar Hadoop en la unidad /opt –porque proporciona una ubicación donde instalar
aplicaciones opcionales (de terceros). Creamos un directorio, pero con el root (súper
usuario), ingresamos con su – root y tenemos el símbolo #, como referencia lafigura
Figura. Crear carpeta y cambiar el propietario.
Ahora extraemos con el comando tar xvf /home/hadoop/Descargas/Hadoop-2.9.2.tar.gz.
Enseguida movemos Hadoop-2.9.2 a opt/Hadoop con el comando mv. Instalar JDK, la
necesidad de instalar JDK para ejecutar javac (compilador de java), como referencia la
figura.
Figura. Ejecutar JDK para CentOS 7.
Contenido de Hadoop. El directorio /bin, contiene los binarios, ejecutables de Hadoop el
directorio /etc, contiene ficheros de configuración de Hadoop, el directorio /sbin,
77. 6
contiene script de arranque, detener HDFS, YARN de Hadoop, el directorio /share,
contiene algunos ejemplos y todo el core de Hadoop como primero el paquete se extrae,
segundo el contenido de Hadoop, referencia la figura.
Figura. Contenido de Hadoo
Configuración JAVA. Nuestro primer mensaje de configurar la variable de entorno es
error, como referencia la figura.
Figura. Mensaje de error JAVA.
Para corregir el problema, creamos un fichero denominado entorno.sh con gedit,
como referencia la figura.
Figura. Corregir la configuración del path de JAVA.
Configurar SSH.La denominación es un Secure SHell, es la forma de que podamos
ejecutarnos de manera segura en una administración remota de un clúster, para ello con
el comando ssh-keygen generando dos llaves pública y privada como referencia la
figura.
78. 7
Figura. Ssh-keygen, nos permite generar clave pública y clave privada de cada nodo
Generando el código de encriptación de la llave publica, como referencia la figura.
Figura. .Clave pública.
3.- HDFS en un nodo
Fichero Core-site.xml
Configuración del clúster en el directorio /opt/hadoop/etc/hadoop, editando el
fichero core-site.xml, como referencia la figura.
Figura . Configurar fichero core-site.xml.
Fichero HDFS-site.xml
Configuración del clúster en el directorio /opt/hadoop/etc/hadoop, editando el
fichero hdfs-site.xml, como referencia la figura.
79. 8
Figura. Configurar fichero hdfs-site.xml.
Crear directorio para maestro y esclavos.
Crear namenode y datanode del clúster, como referencia la figura.
Figura. Comando mkdir como super usuario
Formatear Hadoop.
Pero antes de arrancar el clúster, ubicar el sistema de fichero Hadoop, con el
comando hadoop namenode -format del nodo local, como referencia la
figura.
Figura. Formateamos al Hadoop.
80. 9
4.- Arrancar HDFS
En el sistema de directorio /sbin se encuentra el script de arranque de HDFS,
entonces ahora ejecutamos el comando start-dfs.sh de HDFS, incluido
el namenode y datanode y secondarynamenode, como referencia la figura.
Figura. Iniciamos el HDFS
Confirmar los procesos java que tenemos ejecutando, dentro del jdk se encuentra con el
comando jps, referencia de la figura.
Figura. Confirmar la ejecución con JPS.
5.- Mostrar Web de administración de HDFS.
Accedemos al modo web Administrativo de Hadoop por el puerto 50070, en el
navegador de su preferencia, como referencia la figura.
81. 10
Figura . Confirmar la ejecución con JPS.
Comandos relevantes HDFS
Para visualizar cuantas réplicas de bloques hay en nuestro almacenamiento de
HDFS del clúster, con el comando hdfs dfsadmin –report, como referencia la
figura.
Figura. Comando para reportar las réplicas.
Para visualizar en compendio estado del clúster, si hay algún problema con las réplicas,
lo pone solo lectura con el comando hdfs fsck / como referencia la figura.
82. 11
Figura. Visualización de problemas de réplicas.
6. MapReduce & YARN en un nodo.
El modelo MapReduce se basa en 6 fases estas son: primero la entrada, cada nodo
cargaría los bloques con los datos que tuviesen en su sistema de ficheros HDFS
localmente. Segundo el split, obtiene una unidad de trabajo, par clave-valor, que
comprende una sola tarea Map. Tercero Map, procesa los pares y produce un conjunto
83. 12
de pares intermedio. Cuarto shuffle y sort, estos resultados intermedios (pares) son
agrupados y ordenados por clave. Quinto reduce, esta obtención ordenada de pares en
clave es aún procesados por otra serie de tareas denominado REDUCE para producir el
resultado, como referencia la figura.
Figura. Ejecución lógica del procesamiento Hadoop versión 2.
Configurar YARN. ahora necesitamos el archivo mapred-site.xml.template. como
plantilla para configurar, como referencia la figura.
84. 13
Figura. Configurar MapReduce a YARN.
El siguiente fichero a editar es con el contenido siguiente de 3 propiedades como son:
a. El gestor del manager y el nombre del host manager
b. La aplicación manager, de servicios
c. Y que clase manager, como referencia la figura.
Figura. Configurar YARN.
Arrancar el YARN. Primero arrancamos con el HDFS, con el comando start-dfs.sh, los
demonios a encontrar son, como referencia la figura :
Figura. Los demonios de HDFS.
Segundo con el comando start-yarn.sh iniciamos los proceso java de YARN,
Levantado todos los procesos java o demonios a encontrar en un solo nodo maestro
con el comando jps, como referencia la figura.
85. 14
Figura. Los demonios del clúster en un solo nodo.
Inicio de sesión del nodo configurado, como referencia la figura.
Figura. Sesión de inicio.
Proceder a realizar en todos los 3 nodos homogéneas, el mismo proceso.
7. Mostrar 3 nodos
Ingresar como super usuario para realizar cambios de configuración a nodo2, como
referencia la figura.
Figura. Cambiamos el nombre a nodo2
Continuamos con la configuración de la red, ingresando a la carpeta /etc y sysconfig y
finalmente editamos la red, se recalca como super usuario, como referencia la figura.
86. 15
Figura. Editar en el directorio etc/sysconfig
El archivo de network, modificamos el nombre del host por nodo2, como referencia la
figura.
Figura. Cambiar de nombre al nodo.
Los nodos tienen que interactuar, entonces configuramos en cada nodo las ip verificando
con el comando ifconfig, con el siguiente comando gedit hosts, editamos lo siguiente,
recalcamos en todos los nodos, como referencia la figura.
Figura. IP de los nodos.
8. Configurar SSH entre los 3 nodos
Realizamos la configuración de la red pública segura con .ssh. Ubicamos el fichero
.ssh, volver a generar la autorización entre los 3 nodos con el comando ssh-keygen y
presionamos 3 veces enter sin ingresar clave, como referencia la figura.
87. 49
Figura. Generar un Nuevo SSH para el clúster.
9. Comunicación entre 3 nodos, modo SSH
Configuramos y comprobamos la comunicación de los nodos del clúster con copiar el
fichero generado con comando cp id_rsa.pub authorized_keys, enseguida pasamos el
fichero de autorización del nodo 2 al nodo1 y nodo3 con el comando scp
authorized_keys y finalmente adicionar la nueva autorización, con el comando cat
id_rsa.pub >> authorized_keys. Como referencia de logueo de modo seguro en la
figura.
Figura. Ahora desde el nodo1, iniciar sesión con ssh al nodo2
Configurar un nodo maestro y 2 nodos esclavos
En sus respectivos ficheros core-site.xml editamos puertos y nombre del YARN que va
corresponder nodomaestro en reemplazo a localhost, ubicándonos en el directorio de
88. 50
configuración etc. ahora configuramos lo ficheros de maestro y esclavos, y
configurar los datos en el fichero hdfs.site.xml y su
NameNode y cantidad de réplicas del clúster a 2.
Indicar en el fichero slaves, los 2 nodos (nodo1, nodo2) esclavos, en nodo1 (maestro).
10. Arrancar 3 nodos
Inicialmente iniciamos Hadoop en un solo nodo, ahora procedemos a iniciar el clúster
distribuido, formateando con el comando hdfs namenode–format, como referencia la
figura.
Figura. Iniciar el clúster primero formatear en namenode.
Continuando con el inicio del clúster de 3 nodos homogéneos, debemos levantar
primeramente HDFS con el comando start-dfs.sh, comprobamos los demonios en el
nodomaestro con JPS, como referencia la figura.
Figura. Demonios en el nodo Maestro.
En los nodos esclavos nodo1 y nodo2, comprobamos los demonios, como referencia la
figura.
89. 51
Figura. Demonios en todos los nodos esclavos.
Corroboramos el nodomaestro está activo, para administrar las aplicaciones
MapReduce, así como los directorios de HDFS, como referencia la figura.
Figura. Corroboramos el nodomaestro como activo.
Los nodo1 y nodo2 son los nodos esclavos del diseño propuesto y desarrollado, como
referencia la figura.
91. 53
BIBLIOGRAFIA
Aguilar, L. J. (2013). Big Data: Análisis de grandes volúmenes de datos en organizaciones.
México: Alfaomega.
Alapati, S. R. (2017). Administracion experta de Hadoop. Estados Unidos de
América: Pearson.
ALópez Borrull, A. C. (2013). La Colaboración Científica en el marco de nuevas
propuestas
Científicas: BIG DATA. Catalunya: Universidad Oberta de Catalunya.
American Psychological Association. (2010). Manual de Publicaciones de la American
Psychological Association (6 ed.). (M. G. Frías, Trad.) México, México: El
Manual Moderno.
Bhimani, J., & Leeser, M. (2017). Aceleración de aplicaciones de big data utilizando
un marco de virtualización ligero en la nube empresarial. Waltham,USA:
IEEE.
Dean, J., & Ghemawat, S. (2008). MapReduce: procesamiento de datos simplificado
en grandes grupos. Nueva York: ACM.
Echevarría, R. R. (2014). Estudio, análisis y evaluación del framework Hadoop.
Madrid: Universidad Pontificia Comillas.
Echevarría, R. R. (2014). Estudio, Análisis y evaluación del Framework Hadoop.
Madrid. Ghazi, M. R. (2015). Hadoop, MapReduce and HDFS: A Developers
Perspective. India:
ELSEVIER.
http://www.apache.org/.
92. •Infographic Style
Definición de un Sistema
distribuido.
Serie de equipos independientes que
actúan de forma transparente
actuando como uno solo.
Descentralizar el almacenamiento
de información o servicios de
procesamiento. Con mayor eficacia,
velocidad, tolerancia a fallos y
escalabilidad.
HDFS
95. •Infographic Style
Archivo distribuido service (DFS) es para
garantizar el flujo continuo de grandes
cantidades de datos a través de la red de
tal manera evitar la congestión de la red y
la sobrecarga del servidor. DFS emplea
una combinación de replicación de
archivos y almacenamiento en caché para
reducir el tráfico de red.
HDFS
96. •Infographic Style
Replicación de archivos
La replicación de archivos se utiliza
en DFS para aumentar la
disponibilidad de datos. y asegura
que el servidor maestro siempre
tenga el copia maestra de un
archivo, al recibir notificación de
cambios del maestro servidor o
tomando copias de la copia maestra.
HDFS
97. •Infographic Style
Almacenamiento en caché en DFS
Para acelerar el acceso remoto, el
DFS utiliza el almacenamiento en
caché para manejar la transferencia
de datos.
El esquema de almacenamiento en
caché en DFS es una extensión de
las técnicas de almacenamiento en
caché o almacenamiento en búfer
HDFS
98. HDFS
Es un sistema de ficheros
distribuido.
Estos tipos de sistemas se usan
para superar el límite que un disco
duro individual.
Cada máquina del clúster
almacena un subconjunto de datos
que componen el sistema de
archivos completo con la idea de
tener varias máquinas con
distintos discos duros y así
distribuir toda la información en
ellos.
99. •Infographic Style
Los metadatos se almacenan en
un servidor centralizado
actuando como un directorio de
bloques y dotándolo de una
visión global del estado del
sistema de archivos.
Diferencia con respecto al resto
de sistemas de archivos es su
tamaño de bloque. Es común que
utilicen un tamaño de 4KB o
8KB para sus datos.
HDFS
100. •Infographic Style
Hadoop en cambio utiliza un
tamaño de bloque
significativamente mayor, 64MB
por defecto, aunque los
administradores de este tipo de
clúster lo suelen elevar a 128MB
o 256MB.
El aumento del tamaño de los
bloques provoca que los datos se
escriban en trozos contiguos más
grandes en el disco, que a su vez
significa que se pueden escribir y
leer en operaciones secuenciales
más grandes.
HDFS
101. •Infographic Style
Esto minimiza la búsqueda de
los bloques contiguos (es
donde más tiempo se pierde),
y mejora el rendimiento en
operaciones de I/O.
En lugar de recurrir a la
protección de esos datos,
HDFS replica cada bloque en
varias máquinas del clúster (3
veces por defecto).
HDFS
102. •Infographic Style
Los cambios que se realizan
en un bloque también se
traspasan a sus réplicas, por lo
que las aplicaciones pueden
leer de cualquiera de los
bloques disponibles. Tener
múltiples réplicas significa
tener más fallos, pero serán
más fácilmente tolerados.
HDFS
103. •Infographic Style
HDFS rastrea activamente y
gestiona el número de réplicas
disponibles de un bloque, de
forma que si el número de
copias de uno de estos bloques
está por debajo del factor de
réplicas establecido, HDFS
genera automáticamente una
copia de las réplicas restantes.
HDFS
107. •Infographic Style
NameNode y DataNode
Los ficheros se dividen en bloques de tamaño fijo,
blocks, que se almacenan en máquinas del clúster
elegidas al azar.
Esta división permite almacenar ficheros de mayor
tamaño que un disco duro pueda almacenar.
Ya que distintas máquinas almacenan distintos
bloques del fichero, cada uno de ellos se replica,
por defecto 3 veces, en máquinas distintas, de
forma que si una máquina cae tenemos el respaldo
del bloque.
HDFS
108. •Infographic Style
NameNode(master) que:
Determina la asignación de bloques a los
DataNodes y sabe donde están localizados
todos los bloques de un fichero.
Gestiona el repositorio de todos los
metadatos HDFS (nombre de ficheros,
permisos, y la localización de cada bloque
de cada fichero).
Ejecuta operaciones como abrir, cerrar y
cambiar el nombre de archivos y
directorios.
Regula el acceso a los archivos de los
clientes.
HDFS
109. •Infographic Style
DataNode(master) que:
un conjunto de DataNodes, uno por cada
nodo del clúster
gestionan físicamente el almacenamiento
de los archivos mediante los bloques.
sirven las peticiones de lectura y escritura
del NameNode o de los clientes.
crean, eliminan y replican bloques según
instrucciones del NameNode.
informa periódicamente al NameNode de
la lista de bloques que están almacenando.
HDFS
110. •Infographic Style HDFS
Demonios, números por clúster y funciones dentro del HDFS.
Demonio Número por clúster Función
NameNode 1
Almacena el metadato,
los ficheros como un
mapa de bloques y
proporciona una
imagen global del
sistema de archivos.
Secondary
NameNode
1
Actúa como una
NameNode pasivo que
almacena los
checkpoints y log del
NameNode activo.
DataNode. 1 o más.
Almacena los bloques
de datos.
113. •Infographic Style HDFS
Demonios dentro del HDFS.
HADOOP 1 HADOOP 2
Namenode Namenode
Datanode Datanode
Nodo de nombre secundario Secondary
Namenode
Nodo de nombre secundario Secondary
Namenode
Rastreador de trabajos Job Tracker Administrador de recursos Resource Manager
Rastreador de tareas Task Tracker Administrador de nodo Node Manager
116. •Infographic Style
Comunicación de NameNode y DataNode
Los DataNodes facilitan periódicamente
información del estado al NameNode, dado que
este último no puede conectarse directamente con
el primero.
El Namenode simplemente se limita a responder a
las peticiones realizadas por el DataNode, el cual
mantiene un servidor abierto mediante el cual un
cliente u otro DataNode puede leer o escribir
información.
HDFS
117. •Infographic Style
Reduce el tiempo de acceso al disco conservando el
contenido de los archivos de manera contigua para
mejorar la lectura actuación.
Aumente el ancho de banda del disco recopilando
grandes cantidades de nuevos datos en el caché de
archivos en la memoria principal, luego escribir los
datos en el disco en una sola operación de E/S
grande.
La congestión de la red se minimiza debido al
almacenamiento en caché mecanismo utilizado
tanto en servidores como en clientes.
HDFS
118. •Infographic Style
Equilibrio de carga debido a la replicación de
archivos.
Sincronización de múltiples flujos de medios
agregando una capa encima del sistema de
administración de discos.
Además DDFS es altamente escalable. Los nodos
nuevos se pueden añadir a la agrupación de
almacenamiento sobre la marcha.
Únicamente, los metadatos se manejan
centralmente, lo que garantiza que se mantienen
constantes todo el tiempo.
HDFS
119. •Infographic Style HDFS
El siguiente archivo core-site.xml.
Este fichero determina la url del
namenode, además del puerto por el
que se escuchan las peticiones de
los clientes.
Configuración en
/opt/hadoop/etc/hadoop
120. •Infographic Style HDFS
El siguiente archivo es hdfs-site.xml.
En este fichero almacena, entre otros
datos interesantes, la localización de los
bloques de datos del HDFS.
Configuración en
/opt/hadoop/etc/hadoop
121. •Infographic Style HDFS
Iniciar HDFS, previo formateo
Con
hadoop namenode –format
Ojo: Ahora para hadoop 2.10.x
hdfs namenode –format
Configuración en
/opt/hadoop/etc/hadoop
125. MapReduce & YARN Historia
Google propuso
utilizar el paradigma
MapReduce,
centrado en los
problemas de
procesamiento de
grandes volúmenes
de datos.
126. MapReduce & YARN MapReduce V1 es
una arquitectura
basada en procesos
batch, que implica
que no se presta a sí
mismo para usar
casos que necesitan
acceso a datos en
tiempo real.
127. MapReduce & YARN Como alternativa
mejorada a
MapReduce v2,
Apache ha
desarrollado el
proyecto YARN( no
solo admite batch)
(Holmes, 2012)
130. MapReduce & YARN
MapReduce es procesar grandes cantidades (terabyte) de datos en
paralelo y tolerante a fallos. El MapReduce y HDFS están
normalmente en el mismo conjunto de nodos, lo que permite a
Framework agendar tareas en los nodos que contienen datos. El
nodo primario(master) agenda tareas, componentes de trabajo,
trabajo de monitoreo y vuelve a ejecutar tareas fallidas, y el nodo
secundario (esclavo) ejecuta tareas según las indicaciones del nodo
primario. (Noelia, 2014):
131. MapReduce & YARN
El modelo MapReduce se basa en 6 fases estas son:
1. Primero la entrada, cada nodo cargaría los bloques con los datos
que tuviesen en su sistema de ficheros HDFS localmente.
2. Segundo el split (es dividido en bloques más pequeños que son
distribuidos entre los nodos.
También obtiene una unidad de trabajo, par clave-valor, que
comprende una sola tarea Map.
132. MapReduce & YARN
El modelo MapReduce se basa en 6 fases estas son:
3. Tercero Map, recorre el bloque y para cada palabra encontrada,
genera una salida una tupla(word,1)
Así como procesa los pares y produce un conjunto de pares
intermedio.
4. Cuarto shuffle y sort, estos resultados intermedios (pares) son
agrupados y ordenados por clave.
133. MapReduce & YARN
El modelo MapReduce se basa en 6 fases estas son:
5. Quinto reduce, despues de recibir todas las tuplas (word,1) de
todos los nodos donde han sido procesados por map, la fase
REDUCE suma el valor 1, para cada worr de la tuplas recibidas.
6. Sexto fase, el resultado.
Como referencia la figura siguiente.
137. YARN
❖ Yet Another Resource Negotiator
❖ YARN es considerado un sistema operativo del Ecosistema
Hadoop
❖ YARN, uno de los componentes centrales de Apache Hadoop,
es responsable de asignar recursos del sistema a las diversas
aplicaciones que se ejecutan en un clúster de Hadoop y
programar tareas para que se ejecuten en diferentes nodos del
clúster.
138. YARN
❖ Yet Another Resource Negotiator
❖ YARN es considerado un sistema operativo del
Ecosistema Hadoop
139. YARN
YARN es considerado un sistema operativo del Ecosistema Hadoop,
para así acoplarse a otros Frameworks. YARN se enfoca en
gestionar recursos del clúster a la hora de realizar un proceso
MapReduce. Hasta ahora el JobTracker realizaba dos funciones
destacadas: la gestión de recursos, la planificación y monitorización
de trabajos. YARN, reemplaza el demonio JobTracker por
ResourceManger utiliza la abstracción para agrupar recursos de
clúster como el disco duro, procesador, la memoria, la red, etc.
(Echevarría, Estudio, Análisis y evaluación del Framework Hadoop,
2014)
141. YARN
1.- ResourceManager.- Servicio que se encarga
de gestionar recursos del clúster. Tiene dos
partes:
● Scheduler.- Responsable de asignar los
recursos a cada aplicación. Diseñado para
tareas de planificación.
● ApplicationsManager.- Responsable a
peticiones de creación de trabajos y asigna
ApplicationMaster a cada uno.
● Seguridad.-. SSH
(Echevarría, Estudio, Análisis y evaluación del
Framework Hadoop, 2014)
142. YARN
2.- ApplicationMaster..- Servicio único
para cada aplicación, su principal cometido
es el de negociar con el ResourceManager
la gestión de los recursos y la de trabajar
con los NodeManagers para ejecutar y
monitorizar los trabajos, gestiona un ciclo
de vida y la planificación de la aplicación
● Container.- Contiene Map y contiene
Reduce
(Echevarría, Estudio, Análisis y evaluación del
143. YARN
3.-NodeManager.- Este servicio o
demonio se ejecuta en cada nodo (esclavo)
y es responsable del contenedor e informa
su estado a Scheduler.
(Echevarría, Estudio, Análisis y evaluación
del Framework Hadoop, 2014)
153. YARN
como sugiere el guía de instalación
Nombre del nodo:puerto 8088
e
Iniciar YARN
154. MapReduce & YARN Hadoop 3.0
Hadoop con la
versión 3.x. tiene una
arquitectura mejorada
con YARN y los
bloques de
construcción parecen
más flexibles. Según
Intellipaat (2018)
155. MapReduce & YARN Hadoop 3.0 mejoras
Hadoop con la YARN
Timeline Service Versión 2:
Este servicio está equipado
con la capacidad de mejorar
la escalabilidad, confiabilidad
y facilidad de uso mediante
flujos y agregación, contiene
métricas, información
específica de la aplicación,
eventos de contenedores, etc.
157. 2
Compendio
Las limitaciones digitales de almacenamiento estructurado de filas y columnas de
Microsoft-Excel, fueron resueltas por sistemas denominados Administradores de Sistema de
Base de Datos Relacional-RDBMS, que integra modelo Entidad-Relación y el Lenguaje
Estructurado de Consultas-SQL de Microsoft SQL-Server, MySql, PostgresSQL y Oracle SQL
Developer. Estos datos estructurados fueron mejorados con ETL (extraer, transformar y cargar)
en Data Warehouse (almacén de datos) todo ello enmarcado en arquitectura y software
convencional y tradicional. Ahora interactuamos con Big Data con la limitación de
exponencialmente grandes datos, por rendimiento y precios exorbitantes para su tratamiento.
La limitación de almacenamiento tradicional y convencional es Big Data. “En el año
2011 se pretendía cuantificar la cantidad de información generada y almacenada en el mundo.
Google, con Eric Schmidt, afirmó que la Humanidad había creado hasta 2003 una cantidad
equivalente a 5 Exabytes, añadiendo que ahora esta cifra se generaba en 2 días”.
(https://www.sciencemag.org/). Las diferentes fuentes como: La web 2.0 que dio el proceso de
interactuar con el almacenamiento de datos en línea de transacciones, ventas, compras, los
sensores, IoT (Internet de las Cosas), es ineludible contar con las redes sociales digitales y
además el avance del TIC de un teléfono fijo a un "Smartphone". Datos de diferentes tipos como
son: Estructurado, semi-estructurado y no estructurado que son: Correos electrónicos, log, un
documento de algún procesador de palabra, hojas electrónicas, una imagen, un objeto, blogs,
mensajes de correo de voz, mensajes instantáneos, contenidos Web, audios y videos. Datos a una
velocidad no tradicional datos que interactúan en streaming. Todo esto enmarcado en Big Data a
precios no asequibles para los diferentes sectores.
158. 3
Tabla de Contenidos
Pseudo Clúster - con 3 nodos 4
1.- Clúster real 4
2.- Clúster virtual 5
3.- Cambiar nombre del nodo 7
4.- Cambiar nombre en la configuración de network 7
5.- Editar cada nodo, del clúster . 8
6. Comprobar envío de paquetes, con ping. 9
7. Configurar IP 9
8. Configurar SSH entre los 3 nodos 10
9. Comunicación entre 3 nodos, modo SSH 49
10. Recomendaciones para nuestra arquitectura 50
11. Antes de iniciar el clúster 50
12. Configurar un nodo maestro y 2 nodos esclavos 50
13. Arrancar 3 nodos 51
159. 4
Pseudo Clúster - con 3 nodos
1.- Clúster real
La infografía muestra 3 nodos, con características homogéneas, el primer nodo es
maestro y los 2 nodos son esclavos, como referencia la figura.
Figura. Clúster para Big Data
162. 7
3.- Cambiar nombre del nodo
4.- Cambiar nombre en la configuración de network
163. 8
y editar como muestra la figura
5.- Editar cada nodo, del clúster .
Los nodos tienen que interactuar, entonces configuramos en cada nodo las ip verificando
con el comando ifconfig, con el siguiente comando gedit hosts, editamos lo siguiente,
recalcamos en todos los nodos, como referencia la figura.
Figura. IP de los nodos.
164. 9
6. Comprobar envío de paquetes, con ping.
7. Configurar IP
Figura. Ubicar ted interna
165. 10
Figura. Ip del nodo virtual.
8. Configurar SSH entre los 3 nodos
Realizamos la configuración de la red pública segura con .ssh. Ubicamos el fichero
.ssh, volver a generar la autorización entre los 3 nodos con el comando ssh-keygen y
presionamos 3 veces enter sin ingresar clave, como referencia la figura.
166. Figura. Generar un Nuevo SSH para el clúster.
9. Comunicación entre 3 nodos, modo SSH
Configuramos y comprobamos la comunicación de los nodos del clúster con copiar el
fichero generado con comando cp id_rsa.pub authorized_keys, enseguida pasamos el
fichero de autorización del nodo 2 al nodo1 y nodo3 con el comando scp authorized_keys
y finalmente adicionar la nueva autorización, con el comando cat id_rsa.pub >>
authorized_keys. Como referencia de logueo de modo seguro en la figura.
Figura. Ahora desde el nodo1, iniciar sesión con ssh al nodo2 y nodo3
167. 10. Recomendaciones para nuestra arquitectura
❖ Haber instalado hadoop en todos los nodos
❖ Tener el mismo usuario en todos los nodos
❖ Los ssh-keygen sin contraseñas en el authorized_key
❖ Tener los mismo directorio en cada nodo
❖ Tener un solo directorio de almacenamiento, en nuestro caso DATOS
❖ Configurar un nodo maestro y 2 nodos esclavos
11. Antes de iniciar el clúster
Eliminar el namenode de los esclavos nodo2 y nodo3
cd /datos
rm -rf namenode
Eliminamos todos los datos del datanode en esclavos nodos 2 y nodo3
cd /datos/datanode
rm -rf current/
Eliminamos datanode en maestro nodo1
cd /datos/
rm -rf datanode
12. Configurar un nodo maestro y 2 nodos esclavos
En el maestro.
❖ En sus respectivos ficheros core-site.xml editamos puertos y nombre del
YARN que va corresponder nodomaestro en reemplazo a localhost.
❖ Ubicándonos en el directorio de configuración etc. ahora configuramos
lo ficheros de maestro y esclavos, y configurar los datos en el
fichero hdfs.site.xml a su cantidad de réplicas a 2.
168. ❖ Pasamos el hdfs-site.xml a los nodos esclavos (nodo2 y nodo 3) este
fichero con scp
scp hdfs-site.xml nodo2:/home/hadoop/etc/hadoop
scp hdfs-site.xml nodo3:/home/hadoop/etc/hadoop
❖ El mapreduce-site.xml, dejamos igual
❖ El yarn-site.xml, dejamos igual( ojo el nombre del nodo servidor)
En el esclavo.
Indicar en el fichero slaves, los 2 nodos (nodo1, nodo2) esclavos, en nodo1
(maestro).
13. Arrancar 3 nodos
Inicialmente iniciamos Hadoop en un solo nodo, ahora procedemos a iniciar el clúster
distribuido, formateando con el comando hdfs namenode–format, como referencia la
figura.
Figura. Iniciar el clúster primero formatear en namenode.
Continuando con el inicio del clúster de 3 nodos homogéneos, debemos levantar
primeramente HDFS con el comando start-dfs.sh, comprobamos los demonios en el
nodomaestro con JPS, como referencia la figura.
169. Figura. Demonios en el nodo Maestro.
En los nodos esclavos nodo1 y nodo2, comprobamos los demonios, como referencia la
figura.
Figura. Demonios en todos los nodos esclavos.
Corroboramos el nodomaestro está activo, para administrar las aplicaciones
MapReduce, así como los directorios de HDFS, como referencia la figura.
170. Figura. Corroboramos el nodomaestro como activo.
Los nodo1 y nodo2 son los nodos esclavos del diseño propuesto y desarrollado, como
referencia la figura.
171. Figura. nodo1 y nodo2 son los esclavos del clúster.
BIBLIOGRAFIA
Aguilar, L. J. (2013). Big Data: Análisis de grandes volúmenes de datos en organizaciones.
México: Alfaomega.
Alapati, S. R. (2017). Administracion experta de Hadoop. Estados Unidos de América:
Pearson.
ALópez Borrull, A. C. (2013). La Colaboración Científica en el marco de nuevas propuestas
172. Científicas: BIG DATA. Catalunya: Universidad Oberta de Catalunya.
American Psychological Association. (2010). Manual de Publicaciones de la American
Psychological Association (6 ed.). (M. G. Frías, Trad.) México, México: El Manual
Moderno.
Bhimani, J., & Leeser, M. (2017). Aceleración de aplicaciones de big data utilizando un
marco de virtualización ligero en la nube empresarial. Waltham,USA: IEEE.
Dean, J., & Ghemawat, S. (2008). MapReduce: procesamiento de datos simplificado en
grandes grupos. Nueva York: ACM.
Echevarría, R. R. (2014). Estudio, análisis y evaluación del framework Hadoop. Madrid:
Universidad Pontificia Comillas.
Echevarría, R. R. (2014). Estudio, Análisis y evaluación del Framework Hadoop. Madrid.
Ghazi, M. R. (2015). Hadoop, MapReduce and HDFS: A Developers Perspective. India:
ELSEVIER.
http://www.apache.org/.
174. hadoop y hdfs
La seguridad y la privacidad.
La seguridad y la privacidad de nuestros datos es fundamental,
actualmente disponemos de muchas herramientas gratuitas y de
pago para cifrar todos nuestros archivos localmente, e incluso
también poder enviar correos electrónicos cifrados y firmados con
GPG-GNU Privacy Guard (GnuPG o GPG) es una herramienta de
cifrado y firmas digitales desarrollado por Werner Koch, que viene
a ser un reemplazo del PGP. Pretty Good Privacy (PGP privacidad
bastante buena) cuya finalidad es proteger la información
distribuida a través de Internet mediante el uso de criptografía de
clave pública, así como facilitar la autenticación de documentos
gracias a firmas digitales.
175. hadoop y hdfs
¿Para qué sirve cifrar datos?
Si queremos tener confidencialidad a la hora de
comunicarnos con cualquier persona, o si queremos proteger
nuestros datos que están almacenados en nuestro equipo,
cifrar o encriptar los datos es algo que debes hacer
obligatoriamente
176. hadoop y hdfs
Criptografía
La Criptografía (Kriptos=ocultar, Graphos=escritura) es la
técnica, ciencia o arte de la escritura secreta. Consiste en
transformar un mensaje inteligible, denominado texto plano,
en otro que sólo puedan entender las personas autorizadas a
ello, que llamaremos criptograma o texto cifrado.
177. hadoop y hdfs
Tipos de criptografía
Dependiendo del tipo de comunicación o cifrado de datos,
tenemos dos tipos de criptografía diferentes:
Criptografía simétrica: la misma clave o certificado que usamos
para el cifrado, también se utiliza para el descifrado de datos.
Criptografía asimétrica: tenemos dos claves, una clave pública
que podemos compartir, y una clave privada que no podemos
compartir con nadie. En un esquema de criptografía asimétrica,
los datos se cifran con la clave pública y se descifran con la clave
privada.
178. hadoop y hdfs
SSH™ (o Secure SHell) es un protocolo que facilita las
comunicaciones seguras entre dos sistemas usando una
arquitectura cliente/servidor y que permite a los usuarios
conectarse a un host remotamente.
Claves SSH y autenticación de clave pública
utiliza criptografía de clave pública para autenticar hosts y
usuarios. Las claves de autenticación, llamadas claves SSH, se
crean utilizando el programa keygen.
179. hadoop y hdfs
¿Cómo funcionan las claves RSA?
La criptografía RSA es un cifrado asimétrico que se utiliza en
muchos ámbitos de la transmisión de datos en Internet por su
facilidad de uso. Este sistema consta de una clave RSA pública y
otra privada. La clave pública se utiliza para el cifrado y la privada
para el descifrado. Como no hay ningún algoritmo que pueda
determinar la clave privada a partir de la clave pública, el
procedimiento se considera seguro. Además del cifrado, el
sistema de la criptografía RSA también sirve para generar firmas
digitales.
181. hadoop y hdfs
En criptografía
RSA (Rivest, Shamir y Adleman) es un sistema criptográfico de
clave pública desarrollado en 1979, que utiliza la factorización de
números enteros. Es el primer y más utilizado algoritmo de este
tipo y es válido tanto para cifrar como para firmar digitalmente.
183. Compendio
Las limitaciones digitales de almacenamiento estructurado de filas y columnas de
Microsoft-Excel, fueron resueltas por sistemas denominados Administradores de Sistema de
Base de Datos Relacional-RDBMS, que integra modelo Entidad-Relación y el Lenguaje
Estructurado de Consultas-SQL de Microsoft SQL-Server, MySql, PostgresSQL y Oracle
SQL Developer. Estos datos estructurados fueron mejorados con ETL (extraer, transformar y
cargar) en Data Warehouse (almacén de datos) todo ello enmarcado en arquitectura y
software convencional y tradicional. Ahora interactuamos con Big Data con la limitación de
exponencialmente grandes datos, por rendimiento y precios exorbitantes para su tratamiento.
La limitación de almacenamiento tradicional y convencional es Big Data. “En el año
2011 se pretendía cuantificar la cantidad de información generada y almacenada en el mundo.
Google, con Eric Schmidt, afirmó que la Humanidad había creado hasta 2003 una cantidad
equivalente a 5 Exabytes, añadiendo que ahora esta cifra se generaba en 2 días”.
(https://www.sciencemag.org/). Las diferentes fuentes como: La web 2.0 que dio el proceso
de interactuar con el almacenamiento de datos en línea de transacciones, ventas, compras, los
sensores, IoT (Internet de las Cosas), es ineludible contar con las redes sociales digitales y
además el avance del TIC de un teléfono fijo a un "Smartphone". Datos de diferentes tipos
como son: Estructurado, semi-estructurado y no estructurado que son: Correos electrónicos,
log, un documento de algún procesador de palabra, hojas electrónicas, una imagen, un objeto,
blogs, mensajes de correo de voz, mensajes instantáneos, contenidos Web, audios y videos.
Datos a una velocidad no tradicional datos que interactúan en streaming. Todo esto
enmarcado en Big Data a precios no asequibles para los diferentes sectores.
184. Tabla de Contenidos
Aplicación Pseudodistribuida - Big Data sobre Hadoop 4
Descargar y adentrarse en carpeta mediante línea de comandos. 5
Crear la carpeta UNAJMA en el HDFS 5
Archivo a aplicar 5
Aplicar mapreduce 6
Tiempo de ejecución 7
Praxis en cluster totalmente distribuido 8
1 nodo - Standalone Mode 8
3 nodos 11
10 nodos 13
186. Descargar y adentrarse en carpeta mediante línea de comandos.
cd /Descargas
Crear la carpeta UNAJMA en el HDFS
hdfs dfs -mkdir /UNAJMA
Archivo a aplicar
hdfs dfs -put prueba_ultima.txt /UNAJMA
211. apache spark
4
Spark para Big Data
Apache Spark
es un framework de computación en clúster open-source. Fue desarrollada
originariamente en la Universidad de California, en el AMPLab de Berkeley. El código base
del proyecto Spark fue donado más tarde a la Apache Software Foundation que se encarga
de su mantenimiento desde entonces.
¿Qué es Apache Spark™?
Apache Spark™ es un motor multilingüe para ejecutar ingeniería de datos, ciencia de datos y
aprendizaje automático en clústeres o máquinas de un solo nodo.
213. apache spark
6
Spark para Big Data
❖ Almacenar datos semi y no estructurados es un inconveniente y con su crecimiento, el big
data también se vuelve más complejo. En este contexto nacen las herramientas de manejo
masivo de datos como: Hadoop o Spark .
❖ Hadoop no es una herramienta aislada para el manejo del Big Data sino que en realidad
constituye, un ecosistema capaz de soportar las exigencias del big data al ofrecer
capacidades que solucionan sus problemas de escalabilidad.
❖ Por su parte Spark nace como mejora al paradigma de Mapreduce de Hadoop.
214. apache spark
7
Spark para Big Data
Al igual que Hadoop, Spark es un proyecto de código abierto de la
fundación Apache que nace en 2012
Es un marco de trabajo de creación de clusters de código abierto para
análisis de Big Data basadas en Apache.
226. apache spark
19
Spark para Big Data
spark core
❖ Es el motor base para el procesamiento en escala y distribuido
❖ aunque está escrito en scala, hay api para python, java y r
❖ Se encarga de:
➢ gestión de la memoria
➢ recuperación ante fallas
➢ distribución en el clúster
➢ monitoriza trabajo
➢ accede a los sistema de almacenamiento
227. apache spark
20
Spark para Big Data
spark core-RDD
❖ RDD-Resilient distributed dataset
❖ rdd.- permite realizar procesos-tolerante a fallas en memoria
❖ rdd.- Son colecciones de registro inmutables y participadas que además pueden ser manejadas
en paralelo
❖ rdd.-pueden contener cualquier clase de objetos python, java y r
❖ rdd.- se crean habitualmente transformándolos de otros rdd,
por ejemplo hdfs o hbase
❖ permite su ejecución sobre hdfs, hbase
228. apache spark
21
Spark para Big Data
spark core-RDg
Spark graphx implementa resilient distributed graph es una abstracción de rdd
rdg.- esa asociado a registros con vértices y bordes de un grafo
230. apache spark
23
Spark para Big Data
❖ es un entorno de procesamiento distribuido y paralelo que trabaja en memoria
❖ Permite el análisis de grandes conjuntos de datos Que integra entornos como NoSQL, Real
Time, Machine Learning o análisis de grafos, etc
❖ Compatible con Hadoop
231. apache spark
24
Spark para Big Data
Nodo único (modo local o Standalone Mode)
◆ El modo independiente es el modo predeterminado en el que se
ejecuta Hadoop.
◆ Puede usar la entrada y la salida como un sistema de archivos local en
modo independiente.
Modo pseudodistribuido o Pseudo-distributed Mode
◆ En esta arquitectura, se genera una JVM separada para cada
componente de Hadoop, ya que podrían comunicarse a través de
sockets de red, produciendo efectivamente un mini-clúster optimizado
y completamente funcional.
◆ Por lo tanto, en el caso de este modo, se requerirán cambios en los
archivos de configuración para los archivos: mapred-site.xml,
core-site.xml, hdfs-site.xml y yarn-site.xml
total distribuido o -distributed Mode