Академический Документы
Профессиональный Документы
Культура Документы
SENCILLA
TODOS LOS PASOS EXPLICADOS, DOCUMENTACIN Y ENLACES NECESARIOS
Noviembre 2014
INTRO
Todos los que lo hemos hecho sabemos que instalar Hadoop puede resultar una pesadilla. Es
de estos programas que parece que estn hechos para que tengas que hacer un master slo
para instalarlos!
Durante un tiempo vagu por varios videocursos online y tutoriales, en los que a menudo te
quedas estancado en un paso y nadie te ayuda. Me he decidido a elaborar este mini curso que
tendr como objetivo que nadie, repito, NADIE se quede fuera sin instalar Hadoop porque
algn error o desconfiguracin no le permite avanzar. Ya no tienes excusa.
Resumen de procesos
-Vamos a instalar Hadoop 1.2.1, primero en modo Single Node y despus en Pseudo
Distributed.
-Para ello utilizaremos una mquina virtual gratuita (Oracle VirtualBox) sobre el SO Windows
8.1.
-En esta mquina vamos a instalar el SO Ubuntu 12.04 LTS, sobre el que realizaremos la
instalacin de Hadoop.
-En el sistema Ubuntu se precisa realizar una actualizacin de Java, tanto el JDK como JRE.
-Asimismo ser necesario cambiar la ruta de acceso a Java (o PATH) que viene por defecto en
Hadoop y otras configuraciones.
-Huelga decir que si manejas Ubuntu en tu mquina no ser necesario que hagas una mquina
virtual, si bien esta tiene ventajas en el ensayo y error para realizar estas pruebas.
-Las versiones exactas que vamos a utilizar os las pongo a continuacin. En muchas ocasiones
se producen errores por emplear diferentes versiones, sobre todo cuando este detalle no se
actualiza en los ficheros de configuracin correspondientes (si, esto es un rollazo, as de simple
y claro)
Mensaje de nimo
No nos pongamos negativos! Al terminar este mini-curso, tendrs instalada en tu mquina la
herramienta que est revolucionando el mundo de la analtica y con la que muchos consiguen
trabajos envidiables. nimo y ten paciencia!
Next
Next
Install
Clicamos en Nueva
La voy a llamar Ubuntu seleccionamos que el tipo sea Linux y la Versin Ubuntu (64bit), ojo
no seleccionar la opcin de 32!!
-Next
Ampliamos la memoria RAM de nuestra nueva mquina virtual a unos 2 GB con la flechita
(Para estos programas se necesitan mquinas potentes, con al menos 4 GB de RAM. De no ser
as lo podis intentar con menos memoria, pero puede quedarse atascado el ordenador)
Next
Seleccionar disco,
Ahora navegaremos con el browser hasta donde hemos guardado la imagen que antes
descargamos. La seleccionamos y damos Abrir
Abrir
Aceptar
Vamos a arrancar la mquina virtual que hemos creado e instalaremos Ubuntu en ella ahora
que hemos seleccionado la imagen ISO:
Iniciar
Nota: si nos aparece un error al iniciar la VM diciendo algo sobre VT-x/AMD-V y el soporte de
64bits, necesitaremos actualizar la BIOS del ordenador ya que esta no soporta la virtualizacin.
No te desesperes! Lo que debemos hacer en este caso es reiniciar el ordenador e ir a la
configuracin de la BIOS (presionando F2, F9 o Supr, etc. dependiendo del modelo que tengas).
Hay que ir a UEFI Firmware, y all en Avanzado elegir en la configuracin de CPU que se habilite
la Virtualization Technology (En cada equipo puede aparecer ligeramente distinto).
Guardamos la configuracin y salimos. Una vez hecho este ajuste al volver a iniciar la mquina
virtual con la ISO de Ubuntu debera ir todo bien (suerte!)
10
Le damos a Continue
11
Install Now
12
Mientras se instala Ubuntu, iremos haciendo los settings habituales: zona horaria,
teclado (este s que tiene que coincidir con tu teclado, normalmente lo autodetecta bastante
bien)
datos de la cuenta de usuario: nombre, contrasea, etc. (por comodidad, vamos a seleccionar
que se loggee automticamente)
13
14
15
16
17
Creamos en el directorio home una nueva carpeta con el nombre hadoop (Abrimos
una terminal y escribimos: mkdir hadoop)
Movemos ah el tar.gz de Hadoop 1.2.1 (Terminal: mv Downloads/hadoop-*.tar.gz
hadoop)
Descomprimimos el fichero ah dentro de la misma carpeta hadoop
Terminal: cd hadoop
Terminal: tar xzf hadoop-*.tar.gz
18
Java
19
Aqu al final del cdigo que aparece copiamos y pegamos a partir de una nueva lnea lo
siguiente:
JAVA_HOME=/usr/local/java/jdk1.7.0_72
PATH=$PATH:$JAVA_HOME/bin
JRE_HOME=/usr/local/java/jre1.7.0_72
PATH=$PATH:$JRE_HOME/bin
HADOOP_INSTALL=/home/{user_name}/hadoop/hadoop-1.2.1
PATH=$PATH:$HADOOP_INSTALL/bin
export JAVA_HOME
export JRE_HOME
export PATH
Es muy importante que actualices los campos que aparecen marcados en amarillo con
la versin que tienes de java y la ruta exacta a la carpeta hadoop-1.2.1, con tu nombre
de usuario.
Guardamos y cerramos
Para indicar a Ubuntu dnde est java instalado escribiremos lo siguiente en la
terminal (Lo mejor es que escribamos en un txt desde Ubuntu cada lnea para
modificar la versin que tenemos)
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jre1.7.0_72/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.7.0_72/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jre1.7.0_72/bin/javaws" 1
sudo update-alternatives --set java /usr/local/java/jre1.7.0_72/bin/java
sudo update-alternatives --set javac /usr/local/java/jdk1.7.0_72/bin/javac
sudo update-alternatives --set javaws /usr/local/java/jre1.7.0_72/bin/javaws
20
21
Instalamos ssh
Terminal: sudo apt-get install ssh
Terminal: sudo apt-get install rsync
Modificamos la configuracin en conf/core-site.xml pegando lo siguiente:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
Editamos hadoop-1.2.1conf/mapred-site.xml a:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
22
Una vez que han terminado de iniciarse los cinco daemons (Namenode, Datanode,
SecondaryNamenode, JobTracker y TaskTracker), vamos a abrir un navegador web en
Ubuntu e iremos a http://localhost:50070/ y a http://localhost:50030/
Desde estas URLs se monitoriza la actividad del NameNode y su estado as como los
procesos (mediante el jobtracker) que van ocurriendo.
23
Si te han aparecido estas pginas correctamente, es que todo ha ido bien (por fn!)
Puedes probar a correr otra vez el .jar que habamos ejecutado para el Single Node:
Terminal: bin/hadoop fs -put conf input (copiamos los ficheros entrantes en el sistema
distribuido) si no hacemos esto, nos aparecer un error del tipo Input path does not
existscalendario
Terminal: bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+'
24
Puede suceder algn error por lo siguiente. El Namenode o el Datanode tienen fijado
una ruta de acceso por defecto mediante la propiedad dfs.name.dir o dfs.data.dir
que apuntan al directorio temporal /tmp. Este directorio va modificndose con el
tiempo y puede ocurrir que en una primera comprobacin todo funcione bien, pero
despus aparezcan los problemas y el Namenode no arranque.
Si lo quieres comprobar, con los daemons iniciados mediante bin/start-all.sh metemos:
Teminal: jps Nos va a mostrar los procesos activos en java.
La consola de comandos debera mostrar algo como lo siguiente:
4351 SecondaryNameNode
4865 NameNode
4949 DataNode
5189 JobTracker
5189 TaskTracker
5339 Jps
Si el Namenode o el Datanode no figuran en la lista o aparecen con algn error, vamos
a hacer lo siguiente para arreglarlo:
<configuration>
<property>
<name>dfs.data.dir</name>
<value>/home/{usuario}/hadoop/dfs/data/</value>
</property>
<property>
25
Asegrate de que se mantiene la sangra de cada lnea tal y como aparece aqu.
Guardamos la configuracin y volvemos a dar formato a namenode
Terminal: hadoop namenode -format
Esto es lo que os tiene que aparecer:
En las ltimas versiones de Ubuntu 12.04 LTS hay una asignacin de permisos1 por
defecto que nos puede causar un problema. La carpeta dfs/data requiere permisos 755
(rwxr-xr-x), y Ubuntu le asigna por defecto la combinacin 775 (rwxrwxr-x). Lo
comprobamos y en caso de ser as, cambiamos los permisos con chmod
Terminal: (desde la carpeta hadoop/dfs) ls -l (ojo que son eles, no barras )
En caso de que data tenga permisos 775 Terminal: chmod 755 data
Iniciamos los daemons
Terminal: start-all.sh (o bien: bin/start-all.sh indistintamente)
Comprobamos otra vez los procesos activos en java
Terminal: jps
Los permisos en Linux son lectura r, escritura w y ejecucin x, y se asignan a: el propietario, el grupo y al resto. En la clasificacin
octal se usa 7 para todos los permisos (rwx) y 5 para lectura y ejecucin (r-x)
26
Ahora estn funcionando todos! (te tienen que aparecer como en el listado de arriba)
Al parar nos deben figurar de nuevo todos los daemons (stop-all.sh)
Si no aparece nada del tipo no datanode to stop es que todo ha ido bien y ya tienes lista tu
instalacin de Hadoop. Enhorabuena!!
Y eso es todo! Espero que te haya servido. Si has experimentado fallos o te has quedado
bloqueado en algn paso, no desesperes. En Internet hay muchas personas que te pueden
ayudar y a travs del foro de discusin tambin otras personas pueden hacer algo.
Sintete libre de enviarme los comentarios o sugerencias que quieras.
27
Tachaaaan
LISTO!
Muchas gracias por tu atencin, espero que te resulte til. Ahora lo siguiente es lo ms
importante, SEGUIR ADELANTE. nimo!
No te olvides de dejar algn comentario/valoracin as como compartirlo con tus contactos en
redes sociales si piensas que les puede interesar.
Echa un vistazo a nuestra web y sguenos: Big Data 4Success
Un saludo,
Jorge
28