Descargar, Instalar & Configurar Hadoop 1.0.4 en Pseudo-Distribuido.

mayo 15, 2014

Instalación, configuración de Hadoop 1.0.4 en Pseudo-distribuido.

A petición de un lector del blog escribo este post consistente en descargar, instalar y configurar en pseudo-distribuido Hadoop 1.0.4, la versión compatible con Spark 0.9.1 y así poder seguir trabajando los tutoriales de Spark.

Requisitos Previos

· Ubuntu 12.04 en adelante
· Oracle JDK 7

Descargar & Instalar

Es muy sencillo. Simplemente hay que irse a las versiones anteriores de Hadoop (ya que la más reciente es la 2.4.0 y no nos interesa para utilizar con Spark) y buscamos la versión 1.0.4. Después seleccionamos la versión de descargarnos el binario tar.gz y listo.

Para ahorraros el tiempo sólo tenéis que descargar Hadoop 1.0.4 desde aquí.

Configurar en Pseudo-Distribuido

1. Abrimos un terminal y mostramos el nombre de nuestra máquina mediante el siguiente comando:
hostname


Lo copiamos en el portapapeles / en un sitio que podamos copiarlo posteriormente. Lo llamaré en adelante [TU_HOSTNAME].

2. En la carpeta conf del directorio de hadoop-1.0.4 vamos a modificar los archivos:
· core-site.xml: opciones de configuración del sistema de hadoop.
· hadoop-env.sh: configuración de las variables de entorno de hadoop.
· hdfs-site.xml: configuración de HDFS.
· mapred-site.xml: configuración todo lo relacionado con map-reduce (jobtracker,tasktrackers...).
· masters: lugar donde irán nuestros nodos maestros.
· slaves: lugar donde irán nuestros nodos slaves. Como la instalación es pseudodistribuida, pondremos tanto en el fichero masters como en el slaves [TU_HOSTNAME].

Core-site.xml

Sustituimos por:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
     <property>
         <name>fs.default.name</name>
         <value>hdfs://[TU_HOSTNAME]:9000</value>
     </property>
</configuration>

Hadoop-env.sh

Añadimos (en este caso es mi directorio de JAVA, sino poned el vuestro):
export JAVA_HOME=/usr/lib/jvm/java-7-oracle

Hdfs-site.xml

Sustituimos por:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
     <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
</configuration>

Mapred-site.xml

Sustituimos por:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
     <property>
         <name>mapred.job.tracker</name>
         <value>[TU_HOSTNAME]:9001</value>
     </property>
</configuration>

Masters

Sustituir por:
[TU_HOSTNAME]

Slaves

Sustituir por:
[TU_HOSTNAME]

Por último, comunicación ssh:

Antes de continuar tenemos que saber que para que haya comunicación entre el maestro de Hadoop y los esclavos tenemos que tener como dicen por ahí "passwordless" entre ellos. Si queremos conectarnos entre localhost y localhost tendremos que superar esta barrera:

1. Generamos la clave privada, para ello ejecutamos en el terminal:
ssh-keygen

Nota: presionad enter hasta que deje de preguntar. Por defecto se guardará en el directorio ~/.ssh con nombre id_rsa.pub

2. Esta clave la copiamos como parte pública a ~/.ssh/authorized_keys. Primero instalamos OpenSsh-server si no lo tenemos instalado:
sudo apt-get install openssh-server

3. Una vez instalado ya si que podemos ejecutar:
ssh-copy-id [TU_NOMBRE_USUARIO]@[HOSTNAME_DE_TU_MÁQUINA]

Ejemplo:
ssh parallels@parallels-Parallels-Virtual-Platform

Escribimos yes y si vamos a la carpeta ~/.ssh, veremos que se ha generado un fichero llamado authorized_keys.

Iniciar/Parar el cluster

Para iniciar el cluster, en el directorio de hadoop ejecutamos:

1. Iniciar todo:
bin/start-all.sh

2. Parar todo:
bin/stop-all.sh

Hay más opciones, pero en la docu de hadoop viene muy bien explicado.

Espero que os sea de utilidad ;)

You Might Also Like

0 comentarios

Sé respetuoso/a, en este blog caben todo tipo de opiniones con respeto y serenidad.

Contact Form :: (」゜ロ゜)」