Está en la página 1de 18

Para el siguiente reporte se utilizaron los siguientes recursos:

 Sistema operativo centOS 6 basado en Linux


 Máquina de virtualización virtual box
 Hadoop 2.7.2
 Y la última versión de Java de octubre 2018

HDFS

Es un sistema de almacenamiento tolerante a fallos que puede almacenar gran


cantidad de datos, escalar de forma incremental y sobrevivir a fallos de
hardware sin perder datos. Esta es la parte de almacenamiento de datos de
Hadoop.

HDFS gestiona el almacenamiento en el clúster, dividiendo los ficheros en


bloques y almacenando copias duplicadas a través de los nodos. Por defecto
se replican 3 nodos distintos.

Al crear un clúster Hadoop hay un nodo que actúa como maestro de datos.
Solo tienen metadatos, el resto de nodos son esclavos

Configuración – Arranque del HDFS


Una vez descomprimido e instalado Hadoop lo que sigue es modificar unos
ficheros de Hadoop para indicar como debe arrancar con los siguientes
comandos moviéndonos a través de directorios:
Dentro del primer directorio se encuentran los ficheros de configuración que se
van a utilizar.

Nos dirigimos al fichero con el nombre “core-site.xml” el cual contiene las


propiedades, la configuración general del clúster. Luego se encuentra el fichero
“hdfs-site.xml” que contiene la configuración para los datos para lo que es el
sistema de ficheros HDFS. Después se encuentra el fichero “mapred-
site.xml.template” que es el que contiene la configuración para map-reduce. Y
también se encuentra el fichero “yarn-site.xml” el cual permitirá configurar el
entorno de trabajo de proceso yarn.

Por el momento solo se trabajara con los dos primeros ficheros “core-site.xml” y
“hdfs-site.xml”.

A continuación se empieza a editar con el gedit con el siguiente comando en


consola “gedit core-site.xml” y se abrirá la siguiente ventana

Aquí es donde se agrega las propiedades con la siguiente información que será
necesaria con los siguientes datos que se van a utilizar.
Esas son las únicas propiedades que se necesitan para montar el clúster.

Se guardan los cambios de la ventana gedit.

Por el momento es solo lo que se va a modificar, más adelante se irán


agregando más propiedades. Y así se tiene la primera parte de la
configuración.

El segundo fichero que se tiene que modificar es el que se denomina con el


siguiente comando en consola “gedit hdfs-site.xml” y de nuevo se abrirá la
ventana gedit.
Aquí es donde se van a configurar los datos, en esta también tiene las
etiquetas donde se pone la configuración. Se agregan las etiquetas como se
muestra en la siguiente imagen con los siguientes parámetros y valores.

De nuevo guardamos los cambios en el botón guardar de gedit.

Formatear HDFS

Una vez que ya se han modificado los dos ficheros básicos para poder arrancar
el clúster Hadoop se tiene que preparar el sistema de ficheros HDFS.

Con el comando “cat hdfs-site.xml” abrimos el script del fichero hdfs-site.xml el


cual se mostrara como en la siguiente imagen
Esta es la parte que interesa

Como podemos darnos cuenta es el mismo script que modificamos del


segundo fichero. En el aparecerán los directorios dfs.namenode.data.dir el cual
es para el maestro y /datos/datanode para los esclavos.

Entonces lo que se procede es hacer esos directorios.

Es importante saber que si se intenta crear el directorio de la siguiente forma


mkdir /datos saldrá el siguiente error de permiso denegado.

Esto es debido a que estamos logueados como usuario Hadoop (en este caso
sería de acuerdo al usuario que hayamos puesto al instalar nuestro sistema
operativo).

El problema se soluciona arrancando el usuario root, el cual también es una de


las configuraciones importantes a la hora de hacer la instalación de centOS.
Para ello se hace lo siguiente en las opciones de la ventana de la consola.

Menú > archivo > abrir solapa


Nos dejara la consola de la siguiente manera:

En esta parte de la ventana iniciaremos sesión como usuario root con el


siguiente comando “su – root” el cual después de declarar el usuario root nos
pedirá la contraseña que pusimos al instalar centOS. Cabe mencionar que al
intentar escribir la contraseña esta no se mostrara con ningún carácter, pero si
se estará tipeando. Y si la contraseña es escrita de forma correcta cambiara a
usuario root como se ve a continuación.

Ahora si podremos crear los directorios con los comandos que se muestran en
la siguiente imagen. Después de cada comando se tiene que teclear la tecla
enter.

Hasta este punto ya no habrá problema al crear los directorios que vamos a
utilizar.

Después de esto nos regresamos un paso con el comando “cd ..” y escribimos
los siguientes comandos como se muestran en la imagen para continuar con la
configuración.
Aquí podemos ver que el directorio “datos” ya pertenece a Hadoop.

Aquí tenemos la primera parte echa, la parte de los directorios donde se tiene
que crear toda la estructura de ficheros.

Ahora seguimos haciendo los ficheros hdfs. Nos ubicamos en la primera solapa
de nuestra consola y utilizaremos el comando “hadoop namenode -format” que
nos permite invocar opciones del maestro namenode y el más importante -
format, este comando lo que hará es irse al directorio correspondiente y crear
un sistema de ficheros los cuales son los metadatos, así conforme vayamos
creando nodos él va creando los bloques dentro de cada uno de estos.
Y si todo si se han seguido bien los pasos al presionar enter nos mostrar lo
siguiente:
Aquí es donde crea un sistema de ficheros.

Si nos vamos al directorio /datos y de ahí al directorio namenode podemos ver


que se han creado una serie de cosas concretamente un directorio llamado
current

Podemos comprobar que en el directorio datanode está vacío porque no se han


cargado ningún tipo de fichero dentro. Y así es como se crea el primer sistema
de ficheros HDFS.
Arranque de HDFS

Ahora queda arrancar el HDFS que se encuentra dentro del directorio “cd
/opt/Hadoop/sbin” estando ubicados dentro de la carpeta datos desde la
consola como se muestra en la siguiente imagen.

Como se mencionó anteriormente se tenían una seria de scripts para arrancar


y hacer otra seria de operaciones de manera automática. Para arrancar el
HDFS tenemos un comando que se llama start-dfs.sh que es el que se tiene
que lanzar, entonces ponemos en consola el comando como se muestra a
continuación:

Básicamente lo que hará será arrancar todos los ficheros de configuración que
se han hecho, los cuales son el que gestiona el namenode el cual es el que
trabaja con los metadatos y luego el datanode y el ultimo es el secundarynode.
En caso de haber reiniciado el centOS o haber cerrado la ventana de
comandos nos preguntara establecer el localhost, para lo cual en cada
pregunta que nos arroje tendremos que escribir “yes” en consola, de lo
contrario si no hace la pregunta y si todo está bien configurado arrancaran los
tres ficheros en automático

Dentro de las JDK de java hay un comando que es muy útil “jps” ya que nos
permite ver que procesos java tenemos en la maquina:

Y si hacemos un “jps -l” nos da un poco mas de información sobre la clase java
que se esta ejecutando y si hacemos “ps -ef | grep java” podemos observar que
hay un conjunto de procesos java lanzados
En esta parte podemos probar que nuestro entorno Hadoop está funcionando.
Por ahora lo que se ha hecho ha sido arrancar los datos. Para ver que está
funcionando de manera correcta existe una herramienta. Abriendo el
navegador, que por defecto centOS trae preinstalado Firefox, al estar dentro
del navegador abrimos el localhost con el nombre de usuario, que en este caso
es nodo1, entonces iniciaríamos el localhost con nodo1:50070 como se
muestra en la imagen.

Recuera que es importante tener arrancado el fichero que se mencionó


anteriormente con el nombre “start-dfs.sh” para que esta parte funcione.

Y si todo marcha bien arrancara el siguiente entorno grafico de Hadoop de este


clúster.

Como podemos darnos cuenta nos dice que tenemos algo activo

Recuerda que en el fichero core-site.xml indicamos que la máquina era nodo1 y


el puerto 9000”. Aquí podremos hacer un recorrido de toda la estructura del
clúster.
Por el momento no es necesario detener el nodo pero es importante saber que
para detener el arranque del HDFS utilizamos el comando “stop-dfs.sh”
estando dentro del directorio “sbin” como se muestra a continuación.

Y veremos como en la consola empiezan a surgir un par de procesos hasta que


el localhost deja de funcionar y la consola vuelve a su normalidad para seguir
escribiendo más comandos. En seguida la interfaz del navegador dejara de
funcionar.
Configuración - Arranque del Yarn
Este funciona con un nodo maestro y nodos hijo. Donde resource manager y
tres sub componentes, se trata de scheduler que se encarga como se
planifican los trabajos y decide los recursos que hay dentro del cluster y
determina cuales se van a ejecutar.

Luego está el application manager, es recurso que hace que una vez que
alguien solicita una aplicación va a arrancar una application master dentro de
los nodos para que se encargue de esa aplicación y el security que se encarga
de medios de seguridad.

Yarn es un gestor completo de recursos que no hace nada de aplicación si no


que sencillamente se encarga de gestionar los recursos del clúster.

Lo que se hará ahora será montar el primer clúster con yarn, hasta ahora solo
se han arrancado solo la parte de los datos.

Antes que nada tendremos que evitar los Warnings al intentar poner el
comando hdfs dfs -ls /datos como se muestra en la imagen.
Para ello hacemos usamos los siguientes comandos para eliminar esos
warnings

“export HADOOP_HOME_WARN_SUPPRESS=1” y damos un enter,


posteriormente colocamos el comando.

“export HADOOP_ROOT_LOGGER=”WARN,DRFA” y de nuevo damos un


enter.

Básicamente son variables de entorno que suprimen los warinig del log

Ahora aplicamos de nuevo el comando “hdfs dfs -ls /datos” veremos que ya no
nos aparece el warning que salía anteriormente.

Lo que ahora haremos será detener el cluster con el comando stop-dfs.sh asi
como se había mencionado anteriormente
Para ahora poder arrancar la parte de HDFS y la parte del yarn tendremos que
modificar los ficheros de configuración los cuales se encuentran en el directorio
“cd /opt/hadoop/etc/hadoop/”

Para poder montar el yarn tendremos que modificar dos ficheros más, el mismo
yarn y el del map-reduce.

Podemos darnos cuentan que el fichero del map-reduce es un template, este


es un template porque puede que no siempre sea necesario pero en esta
configuración si se tiene que utilizar.

Lo que ahora se hara será copiar el fichero mapred-site.xml.template y lo


llamaremos mapred-site-xml y posteriormente lo editaremos con el gedit
mapred-site-xml.

Y de nuevo nos abrirá el gedit para modificar algunos parámetros del fichero.
Y modificamos en la etiqueta de configuración como se muestra en la siguiente
imagen, posteriormente guardamos los cambios.

Ahora el fichero que modificaremos será yarn-site.xml

Y dentro de la ventana gedit agregamos las siguientes propiedades y


posteriormente guardamos los cambios.

Ahora para arrancar el clúster obligatoriamente iniciamos la parte de los datos


como lo hemos hecho anteriormente con “start-dfs.sh”
Y lo que ahora haremos será arrancar el yarn con “start-yarn.sh” y es así como
arrancan los llamados deamons o demonios.

Y así es como se gestiona y configura el yarn de manera rápida.

De la misma manera que tenemos una página web donde podemos ver la
configuración del HDFS también disponemos de una página donde podemos
ver la configuración del yarn y la podemos lanzar abriendo el puerto en el
navegador de la misma manera que con HDFS, nombre del equipo, en este
caso nodo1, esto dependerá del nombre de la maquina en la que se ha
instalado, solo que esta vez cambiara el número del puerto, el cual en esta
ocasión seria 8088, quedando nodo1:8088 (la parte de /cluster aparecerá por
defecto)

Y la página que nos mostrara será la siguiente.

También podría gustarte