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 ;)
0 comentarios
Sé respetuoso/a, en este blog caben todo tipo de opiniones con respeto y serenidad.