Está en la página 1de 11

UNIVERSIDAD DE MONTEMORELOS

3 de enero de 2018

UNIVERSIDAD DE MONTEMORELOS 3 de enero de 2018

ÍNDICE

2
2

I. INTRODUCCIÓN

3

II. MARCO

TEÓRICO

3

III. MARCO CONCEPTUAL

5

IV. CREACIÓN DE CLÚSTER

8

V. REFERENCIAS Y BIBLIOGRAFÍA

11

UNIVERSIDAD DE MONTEMORELOS

FITEC

UNIVERSIDAD DE MONTEMORELOS

I.

Introducción

En este documento abordamos la implementación de Apache Spark, un framework de computación en clúster desarrollado en la Universidad de California, en el AMPLab de Berkeley. Spark proporciona una interfaz para la programación de clústeres completos con Paralelismo de Datos implícito y

tolerancia a fallos. ¹

Este documento es un trabajo descriptivo sobre la elaboración de un clúster con 4 ordenadores en el Sistema operativo Ubuntu. Un clúster es un conjunto de ordenadores conectados entre sí que se comportan como si fuesen una única máquina.

II. Marco teórico.

La tecnología de clústeres ha evolucionado en apoyo de actividades que van desde aplicaciones de supercómputo

y software para aplicaciones críticas,

servidores web y comercio electrónico, hasta bases de datos de alto rendimiento,

y otros usos. ²

3 de enero de 2018

El término clúster se aplica a los conjuntos o conglomerados de ordenadores unidos entre sí normalmente por una red de alta velocidad y que se comportan como si fuesen una única computadora.

Es una realidad que en la actualidad el software libre está cambiando la forma en la que desarrollamos las cosas, nos facilita sistemas de alto rendimiento, fiabilidad y productividad sin costo acostó muy bajo. Es por lo que decidimos implementar el framework Apache Spark para realizar el clúster.

Apache Spark se puede considerar un sistema de computación en clúster de propósito general y orientado a la velocidad. Proporciona APIs en Java,

Scala, Python y R.³

Sobre el funcionamiento de Spark es un motor para el procesamiento de datos, se puede ejecutar Spark en un modo distribuido en un clúster, donde hay un número o nodo maestro y n trabajadores o nodos. Spark programa y divide los recursos en la máquina host que forma el

clúster. El trabajo principal del administrador de clústeres es dividir los recursos entre las aplicaciones, que funciona como un servicio externo de adquirir recursos para el clúster.

Apache Spark permite tres tipos de administradores de clústeres:

a)

Manager

Apache

Spark

Standalone

b) Hadoop YARN

c) Apache Mesos

Cluster

Entonces, hablemos en detalle sobre estos administradores de clústeres de Apache Spark.

a) Apache Spark Standalone Cluster Manager

El modo independiente para un administrador de clústeres facilita la configuración de un clúster que Spark administra y puede ejecutarse en Linux, Windows o Mac OSX. A menudo, es la forma más sencilla de ejecutar la aplicación Spark en un entorno agrupado.

UNIVERSIDAD DE MONTEMORELOS

4
4

¿Cómo

funciona

Spark

Standalone

Cluster?

Tiene nodos maestros

o máster y

n trabajadores con una cantidad configurada de memoria y núcleos de CPU. Este asigna recursos según el núcleo y de forma predeterminada, una aplicación tomará todos los núcleos del clúster.

Para verificar la aplicación, Apache Spark tiene una interfaz de usuario web. La interfaz de usuario web proporciona información de los ejecutores, el uso del almacenamiento y la tarea en ejecución en la aplicación.

b) Apache Mesos

Mesos maneja la carga de trabajo en un entorno distribuido mediante el intercambio dinámico de recursos y el aislamiento. Es recomendable para la implementación y administración de aplicaciones en entornos de clústeres a gran escala.

Apache Mesos reúne el recurso existente de las máquinas o nodos en un

FITEC

clúster. A partir de esto se realiza la abstracción del nodo, por lo que disminuye la sobrecarga de asignar a una máquina específica para diferentes cargas de trabajo. Puede ejecutarse en Linux o Mac OSX.

c) Hadoop YARN

Hadoop YARN divide la funcionalidad del administrador de recursos y la programación de trabajos en diferentes dominios. El plan es obtener un Global Resource Manager (RM) y un Application Máster (AM) por aplicación. El marco de cálculo de datos YARN es una combinación del Resource Manager y el Node Manager. Se puede ejecutar en Linux y Windows.

Resource

Manager gestiona los recursos entre todas

las aplicaciones en

administrador de recursos

programador y aplicaciones. El

sistema. El

tiene

administrador de programador asigna

recursos a las diversas aplicaciones en

ejecución, realiza

o

El

Yarn

el

monitoreos

UNIVERSIDAD DE MONTEMORELOS

5
5

seguimientos

del

estado

de

la

aplicación. El

administrador

de

aplicaciones las gestiona en todos los

nodos.

III. Marco Conceptual

¿Por qué Apache Spark Standalone?

Spark Standalone admite una recuperación automática del máster. Uno puede lograr la recuperación manual utilizando el sistema de archivos. El clúster tolera la falla de los nodos a pesar de que la recuperación del máster este habilitando o no. Además, Spark admite la autenticación a través de un “secret” compartido con todos los administradores de clústeres.

El administrador de clústeres de Spark Standalone para ver las estadísticas de clústeres y trabajos, tiene una interfaz de usuario web. También tiene salida de registro detallada para cada trabajo. La interfaz de usuario web de Spark reconstruye la interfaz de usuario de la aplicación después de que la aplicación exista y si ha registrado eventos durante su vida útil.

FITEC

Por lo tanto, se determinó utilizar Apache Spark Standalone, ya que se llegó a la conclusión de que es fácil de configurar entre en nuestro entorno y además proporcionará características similares a los otros administradores de clústeres.

IV. Métodos y procedimientos

Para la implementación del clúster en nuestros ordenadores seguimos una serie de pasos que describiremos a continuación (para slaves como para master).

Lo primero fue crear una máquina virtual en el software de virtualización VirtualBox, con el sistema operativo Ubuntu.

virtualización VirtualBox, con el sistema operativo Ubuntu. UNIVERSIDAD DE MONTEMORELOS 6 Después se actualizó el

UNIVERSIDAD DE MONTEMORELOS

6
6

Después

se

actualizó el sistema, librerías de java y se instaló Apache Spark 2.3.7 y Scala 2.12.7

A continuación, por medio de la

línea de comandos se instaló SSH Server con el comando sudo apt-get install openssh-server.

Server con el comando sudo apt-get install openssh-server. El siguiente paso fue crear un grupo en

El siguiente paso fue crear un grupo

en Spark y añadir un usuario y otorgarle permiso de administrador en el archivo sudoers.

FITEC

Después creamos un directorio para Spark y lo agregamos a la propiedad del usuario Spark.

Después creamos un directorio para Spark y lo agregamos a la propiedad del usuario Spark.

para Spark y lo agregamos a la propiedad del usuario Spark. A continuación, extraemos y movemos
para Spark y lo agregamos a la propiedad del usuario Spark. A continuación, extraemos y movemos

A continuación, extraemos y movemos los archivos a la carpeta de Spark y Scala.

y movemos los archivos a la carpeta de Spark y Scala. El siguiente paso fue establecer

El siguiente paso fue establecer las propiedades del entorno, se añaden propiedades al archivo bashrc y se reinicia el entorno.

UNIVERSIDAD DE MONTEMORELOS

7
7

cambian

propiedades del entorno de Spark, editando el archivo de configuración.

A

continuación,

se

editando el archivo de configuración. A continuación, se Después se inicia Spark compilando el script de

Después se inicia Spark compilando el script de arranque.

Después se inicia Spark compilando el script de arranque. Para probarlo en el navegador se realiza

Para probarlo en el navegador se realiza una configuración en el Virtual box. Cambio de puertos con la IP del ordenador y de la máquina virtual.

FITEC

Se probó con la interfaz en el navegador colocando la IP que en nuestro caso

Se probó con la interfaz en el navegador colocando la IP que en nuestro caso sería 10.4.216.56:8080 lo último es el número de puerto.

sería 10.4.216.56:8080 lo último es el número de puerto. V. Creación de clúster El primer paso

V. Creación de clúster El primer paso es instalar Vim para poder editar el archivo /etc./host.

es instalar Vim para poder editar el archivo /etc./host. UNIVERSIDAD DE MONTEMORELOS 8 Lo siguiente fue

UNIVERSIDAD DE MONTEMORELOS

8
8

Lo siguiente fue añadir las siguientes configuraciones al archivo (master y slaves):

<MASTER-IP> master

<SLAVE01-IP> slave01

<SLAVE02-IP> slave02

<SLAVE01-IP> slave01 <SLAVE02-IP> slave02 A continuación, en la segunda línea de la ilustración,

A continuación, en la segunda línea de la ilustración, instalamos OpenSSH Server-Client, para después generar los pares claves (solo master).

para después generar los pares claves (solo master). Posteriormente copiamos el contenido de . ssh/id_rsa.pub

Posteriormente copiamos el contenido de .ssh/id_rsa.pub (del máster) a .ssh/authorized_keys tanto en los slaves como en el master.

A continuación, se revisaron por SSH a los slaves:

FITEC

$ ssh slave01

$ ssh slave02

$ ssh slave03

al

archivo spark-env.sh en la carpeta de configuración.

Se

añadieron

configuraciones

Por último, se inició el clúster de spark y se probó el Spark Web UI:

9
9
Por último, se inició el clúster de spark y se probó el Spark Web UI: 9

UNIVERSIDAD DE MONTEMORELOS

FITEC

UNIVERSIDAD DE MONTEMORELOS

FITEC

10
10

UNIVERSIDAD DE MONTEMORELOS

VI. Referencias y bibliografía.

(2018). Apache

Spark.

https://es.wikipedia.org/wiki/Apache_Sp

ark [Accessed 4 Dec. 2018].

2. R.M. (2015). Construcción de un

clúster de ordenadores utilizando equipos de bajo coste y software libre. En

1. Es.wikipedia.org.

[online]

Available

at:

3 de enero de 2018

Ruiz-Palmero, J.; Sánchez-Rodríguez, J. y Sánchez-Rivas, E. (Edit.). Innovaciones con tecnologías emergentes. Málaga:

Universidad de Málaga.

3. ZAHARIA, Matei, et al. Spark:

Clúster computing with working sets. HotCloud, 2010, vol. 10, no 10-10, p.

95.