Acerca de como instalar hadoop en modo pseudodistribuido

1. Instalando Java

Lo primero es instalar el JDK, a ser posible el de Oracle, aunque tambien deberia funcionar con el openJdk. Voy a trabajar con ubuntu 14.0.4 porque es una distribución conocida y disponible a través de Amazon. Hay muchas formas de instalar el JDK pero yo creo que la mas sencilla es a traves de la maravillosa herramienta apt. Lanza estos comandos en una terminal:

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java8-installer

Te pedirá que aceptes el contrato que haces con Oracle, aceptar a todo. Una vez terminado el proceso, lanza estos comandos:

alonso@alonso:/usr/local/hadoop/sbin$ java -version

java version “1.8.0_66”

Java(TM) SE Runtime Environment (build 1.8.0_66-b17)

Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

alonso@alonso:/usr/local/hadoop/sbin$ javac -version

javac 1.8.0_66

La version entre javac y java deben coincidir.

Existe una manera de instalar el JDK sin necesidad de tener que aceptar la licencia, ideal si queremos automatizar la instalacion del JDK si usamos Docker, Ansible o herramientas parecidas. Para ello, lanza el siguiente comando:

echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections

2. Añadiendo un grupo dedicado hadoop y un usuario especifico para interacturar con el cluster. 

Una vez que tienes java listo y configurado, seguimos con los siguientes pasos. El grupo se llamará hadoop y el usuario hduser, para ello lanza los siguientes comandos:

sudo addgroup hadoop

sudo adduser –ingroup hadoop hduser

Cuando lances este segundo comando, apunta la contraseña.

alonso@laptop:~$ sudo addgroup hadoop

Adding group `hadoop’ (GID 1002) …

Done.

alonso@laptop:~$ sudo adduser –ingroup hadoop hduser

Adding user `hduser’ …

Adding new user `hduser’ (1001) with group `hadoop’ …

Creating home directory `/home/hduser’ …

Copying files from `/etc/skel’ …

Enter new UNIX password: 

Retype new UNIX password: 

passwd: password updated successfully

Changing the user information for hduser

Enter the new value, or press ENTER for the default

Full Name []: 

Room Number []: 

Work Phone []: 

Home Phone []: 

Other []: 

Is the information correct? [Y/n] Y

3. Instalando SSH

Hay que tener en cuenta que ssh tiene dos componentes principales, ssh y sshd. Ssh es el cliente que usamos para conectarnos a maquinas remotas. Sshd es el demonio del sistema que permite que otros clientes externos se conecten al servidor. Para ello, lanza los siguientes comandos:

sudo apt-get install ssh

4. Crear y configurar el certificado SSH

Hadoop usa SSH para acceder a sus nodos para no tener que introducir el password cada vez que necesite acceder. Aunque, este requerimiento puede ser eleminado creando y configurando certificados ssh, para ello, hay que lanzar los siguientes comandos. Si te preguntan por el nombre de un fichero, dejalo en blanco y presiona alguna tecla para continuar.

Si no estas como el usuario hduser, cambiate a él:

su hduser

Una vez que eres el usuario hduser, lanza este comando:

ssh-keygen -t rsa -P “”

Generating public/private rsa key pair.

Enter file in which to save the key (/home/hduser/.ssh/id_rsa): 

Created directory ‘/home/hduser/.ssh’.

Your identification has been saved in /home/hduser/.ssh/id_rsa.

Your public key has been saved in /home/hduser/.ssh/id_rsa.pub.

The key fingerprint is:

50:6b:f3:fc:0f:32:bf:30:79:c2:41:71:26:cc:7d:e3 hduser@laptop

The key’s randomart image is:

+–[ RSA 2048]—-+

|        .oo.o    |

|       . .o=. o  |

|      . + .  o . |

|       o =    E  |

|        S +      |

|         . +     |

|          O +    |

|           O o   |

|            o..  |

+—————–+

Una vez que el certificado se ha generado, hay que copiarlo donde el sistema pueda encontrarlo:

hduser@laptop:/home/k$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

Una vez hecho ésto, comprobamos que funciona con el siguiente comando:

hduser@laptop:/home/k$ ssh localhost

The authenticity of host ‘localhost (127.0.0.1)’ can’t be established.

ECDSA key fingerprint is e1:8b:a0:a5:75:ef:f4:b4:5e:a9:ed:be:64:be:5c:2f.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added ‘localhost’ (ECDSA) to the list of known hosts.

Welcome to Ubuntu 14.04.1 LTS (GNU/Linux 3.13.0-40-generic x86_64)

5. Instalar Hadoop 2.6.0

Una vez terminados los preliminares, vamos al lio. Primero es descargar los fuentes. Lanza estos comandos en un directorio donde puedas escribir:

hduser@laptop:~$ wget http://mirrors.sonic.net/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz

Descomprimes el fichero comprimido:

hduser@laptop:~$ tar xvzf hadoop-2.6.0.tar.gz

Ahora vamos a mover el contenido de esta carpeta a un sitio como /usr/local/hadoop, pero antes algo de preparacion.

Probablemente tendras que crear la carpeta /usr/local/hadoop y meter al usuario hduser en el grupo de los sudoers. Para ello, lanza los siguientes comandos:

Siempre como usuario hduser:

mkdir /usr/local/hadoop

Para lo segundo, meter al usuario hduser en el grupo de los sudoers, haz lo siguiente. Te cambias al usuario que tienes por defecto en el laptop, en mi caso, alonso:

su alonso

sudo adduser hduser sudo

[sudo] password for alonso: 

Adding user `hduser’ to group `sudo’ …

Adding user hduser to group sudo

Done.

Con esto, el usuario hduser esta en el grupo de los superusuarios, podemos mover los ficheros de hadoop que hemos descargado anteriormente a un sitio mas apropiado. Para ello, lanza estos comandos:

alonso@laptop:/home/hduser$ sudo su hduser

hduser@laptop:~/hadoop-2.6.0$ sudo mv * /usr/local/hadoop 

Con este comando, indicamos al sistema que el propietario de esos ficheros es el usuario hduser:

hduser@laptop:~/hadoop-2.6.0$ sudo chown -R hduser:hadoop /usr/local/hadoop

6. Configurar ficheros 

En concreto, tienes que configurar estos cinco ficheros:

6.1 /etc/bash.bashrc

6.2 /usr/local/hadoop/etc/hadoop/hadoop-env.sh

6.3 /usr/local/hadoop/etc/hadoop/core-site.xml

6.4 /usr/local/hadoop/etc/hadoop/mapred-site.xml.template

6.5 /usr/local/hadoop/etc/hadoop/hdfs-site.xml

6.1 /etc/bash.bashrc

Edita el primer fichero, queremos hacer que ciertas variables globales como JAVA_HOME o HADOOP_HOME esten disponibles para todos los usuarios, asi que añade esto al final del fichero /etc/bash.bashrc

#HADOOP VARIABLES START

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

export HADOOP_INSTALL=/usr/local/hadoop

export PATH=$PATH:$HADOOP_INSTALL/bin

export PATH=$PATH:$HADOOP_INSTALL/sbin

export HADOOP_MAPRED_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_HOME=$HADOOP_INSTALL

export HADOOP_HDFS_HOME=$HADOOP_INSTALL

export YARN_HOME=$HADOOP_INSTALL

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native

export HADOOP_OPTS=”-Djava.library.path=$HADOOP_INSTALL/lib”

#HADOOP VARIABLES END

Actualiza la shell:

source /etc/bash.bashrc

Ahora, al hacer un echo $JAVA_HOME deberias ver /usr/lib/jvm/java-8-oracle

6.2 /usr/local/hadoop/etc/hadoop/hadoop-env.sh 

Actualiza el fichero añadiendo la misma ruta JAVA_HOME. Ponla a fuego, puede que te encuentres una linea como ésta:

export JAVA_HOME=${JAVA_HOME}

En teoria, no deberia hacer falta poner a fuego la ruta absoluta, pero tienes que cambiarla por ésta:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

6.3 /usr/local/hadoop/etc/hadoop/core-site.xml

Crea este directorio y asigna como propietario al usuario hduser:

hduser@laptop:~$ sudo mkdir -p /app/hadoop/tmp

hduser@laptop:~$ sudo chown hduser:hadoop /app/hadoop/tmp

Ahora abre el fichero y modificalo añadiendo las dos propiedades:

hduser@laptop:~$ vi /usr/local/hadoop/etc/hadoop/core-site.xml

<configuration>

 <property>

  <name>hadoop.tmp.dir</name>

  <value>/app/hadoop/tmp</value>

  <description>A base for other temporary directories.</description>

 </property>

 <property>

  <name>fs.default.name</name>

  <value>hdfs://localhost:54310</value>

  <description>The name of the default file system.  A URI whose

  scheme and authority determine the FileSystem implementation.  The

  uri’s scheme determines the config property (fs.SCHEME.impl) naming

  the FileSystem implementation class.  The uri’s authority is used to

  determine the host, port, etc. for a filesystem.</description>

 </property>

</configuration>

6.4 /usr/local/hadoop/etc/hadoop/mapred-site.xml.template

Tienes que crear este fichero, para ello vas a copiar un fichero template que viene con hadoop. Lanza este comando:

hduser@laptop:~$ cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml

Este fichero mapred-site.xml sirve para indicar al sistema que framework se va a usar para realizar las tareas map reduce, añade el property entre la etiqueta configuration:

<configuration>

 <property>

  <name>mapred.job.tracker</name>

  <value>localhost:54311</value>

  <description>The host and port that the MapReduce job tracker runs

  at.  If “local”, then jobs are run in-process as a single map

  and reduce task.

  </description>

 </property>

</configuration>

6.5 /usr/local/hadoop/etc/hadoop/hdfs-site.xml

Este fichero necesita ser configurado para cada nodo en el cluster que esta siendo usado. Concretamente se usa para especificar los directorios que serán usados por los componentes NameNode y DataNode en ese nodo.

Antes de editar este fichero, necesitamos crear dos directorios que contendran el namenode y el datanode:

hduser@laptop:~$ sudo mkdir -p /usr/local/hadoop_store/hdfs/namenode

hduser@laptop:~$ sudo mkdir -p /usr/local/hadoop_store/hdfs/datanode

hduser@laptop:~$ sudo chown -R hduser:hadoop /usr/local/hadoop_store

Abre el fichero e introduce el siguiente contenido entre el inicio y fin de la etiqueta configuration:

hduser@laptop:~$ vi /usr/local/hadoop/etc/hadoop/hdfs-site.xml

<configuration>

 <property>

  <name>dfs.replication</name>

  <value>1</value>

  <description>Default block replication.

  The actual number of replications can be specified when the file is created.

  The default is used if replication is not specified in create time.

  </description>

 </property>

 <property>

   <name>dfs.namenode.name.dir</name>

   <value>file:/usr/local/hadoop_store/hdfs/namenode</value>

 </property>

 <property>

   <name>dfs.datanode.data.dir</name>

   <value>file:/usr/local/hadoop_store/hdfs/datanode</value>

 </property>

</configuration>

7. Formatear el sistema de ficheros de los nodos

Ahora, el sistema de ficheros necesita ser formateado de manera que podamos usarlo. El comando format debe ser lanzado con un usuario con permisos de escritura, ya que este comando al final lo que hace es crear un directorio llamado current.

Posicionate en el directorio /usr/local/hadoop_store/hdfs/namenode y lanza el siguiente comando:

hduser@laptop:~$ hadoop namenode -format

DEPRECATED: Use of this script to execute hdfs command is deprecated.

Instead use the hdfs command for it.

15/04/18 14:43:03 INFO namenode.NameNode: STARTUP_MSG: 

/************************************************************

STARTUP_MSG: Starting NameNode

STARTUP_MSG:   host = laptop/192.168.1.1

STARTUP_MSG:   args = [-format]

STARTUP_MSG:   version = 2.6.0

STARTUP_MSG:   classpath = /usr/local/hadoop/etc/hadoop

STARTUP_MSG:   java = 1.8.0_66

************************************************************/

15/04/18 14:43:03 INFO namenode.NameNode: registered UNIX signal handlers for [TERM, HUP, INT]

15/04/18 14:43:03 INFO namenode.NameNode: createNameNode [-format]

15/04/18 14:43:07 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

Formatting using clusterid: CID-e2f515ac-33da-45bc-8466-5b1100a2bf7f

15/04/18 14:43:09 INFO namenode.FSNamesystem: No KeyProvider found.

15/04/18 14:43:09 INFO namenode.FSNamesystem: fsLock is fair:true

15/04/18 14:43:10 INFO blockmanagement.DatanodeManager: dfs.block.invalidate.limit=1000

15/04/18 14:43:10 INFO blockmanagement.DatanodeManager: dfs.namenode.datanode.registration.ip-hostname-check=true

15/04/18 14:43:10 INFO blockmanagement.BlockManager: dfs.namenode.startup.delay.block.deletion.sec is set to 000:00:00:00.000

15/04/18 14:43:10 INFO blockmanagement.BlockManager: The block deletion will start around 2015 Apr 18 14:43:10

15/04/18 14:43:10 INFO util.GSet: Computing capacity for map BlocksMap

15/04/18 14:43:10 INFO util.GSet: VM type       = 64-bit

15/04/18 14:43:10 INFO util.GSet: 2.0% max memory 889 MB = 17.8 MB

15/04/18 14:43:10 INFO util.GSet: capacity      = 2^21 = 2097152 entries

15/04/18 14:43:10 INFO blockmanagement.BlockManager: dfs.block.access.token.enable=false

15/04/18 14:43:10 INFO blockmanagement.BlockManager: defaultReplication         = 1

15/04/18 14:43:10 INFO blockmanagement.BlockManager: maxReplication             = 512

15/04/18 14:43:10 INFO blockmanagement.BlockManager: minReplication             = 1

15/04/18 14:43:10 INFO blockmanagement.BlockManager: maxReplicationStreams      = 2

15/04/18 14:43:10 INFO blockmanagement.BlockManager: shouldCheckForEnoughRacks  = false

15/04/18 14:43:10 INFO blockmanagement.BlockManager: replicationRecheckInterval = 3000

15/04/18 14:43:10 INFO blockmanagement.BlockManager: encryptDataTransfer        = false

15/04/18 14:43:10 INFO blockmanagement.BlockManager: maxNumBlocksToLog          = 1000

15/04/18 14:43:10 INFO namenode.FSNamesystem: fsOwner             = hduser (auth:SIMPLE)

15/04/18 14:43:10 INFO namenode.FSNamesystem: supergroup          = supergroup

15/04/18 14:43:10 INFO namenode.FSNamesystem: isPermissionEnabled = true

15/04/18 14:43:10 INFO namenode.FSNamesystem: HA Enabled: false

15/04/18 14:43:10 INFO namenode.FSNamesystem: Append Enabled: true

15/04/18 14:43:11 INFO util.GSet: Computing capacity for map INodeMap

15/04/18 14:43:11 INFO util.GSet: VM type       = 64-bit

15/04/18 14:43:11 INFO util.GSet: 1.0% max memory 889 MB = 8.9 MB

15/04/18 14:43:11 INFO util.GSet: capacity      = 2^20 = 1048576 entries

15/04/18 14:43:11 INFO namenode.NameNode: Caching file names occuring more than 10 times

15/04/18 14:43:11 INFO util.GSet: Computing capacity for map cachedBlocks

15/04/18 14:43:11 INFO util.GSet: VM type       = 64-bit

15/04/18 14:43:11 INFO util.GSet: 0.25% max memory 889 MB = 2.2 MB

15/04/18 14:43:11 INFO util.GSet: capacity      = 2^18 = 262144 entries

15/04/18 14:43:11 INFO namenode.FSNamesystem: dfs.namenode.safemode.threshold-pct = 0.9990000128746033

15/04/18 14:43:11 INFO namenode.FSNamesystem: dfs.namenode.safemode.min.datanodes = 0

15/04/18 14:43:11 INFO namenode.FSNamesystem: dfs.namenode.safemode.extension     = 30000

15/04/18 14:43:11 INFO namenode.FSNamesystem: Retry cache on namenode is enabled

15/04/18 14:43:11 INFO namenode.FSNamesystem: Retry cache will use 0.03 of total heap and retry cache entry expiry time is 600000 millis

15/04/18 14:43:11 INFO util.GSet: Computing capacity for map NameNodeRetryCache

15/04/18 14:43:11 INFO util.GSet: VM type       = 64-bit

15/04/18 14:43:11 INFO util.GSet: 0.029999999329447746% max memory 889 MB = 273.1 KB

15/04/18 14:43:11 INFO util.GSet: capacity      = 2^15 = 32768 entries

15/04/18 14:43:11 INFO namenode.NNConf: ACLs enabled? false

15/04/18 14:43:11 INFO namenode.NNConf: XAttrs enabled? true

15/04/18 14:43:11 INFO namenode.NNConf: Maximum size of an xattr: 16384

15/04/18 14:43:12 INFO namenode.FSImage: Allocated new BlockPoolId: BP-130729900-192.168.1.1-1429393391595

15/04/18 14:43:12 INFO common.Storage: Storage directory /usr/local/hadoop_store/hdfs/namenode has been successfully formatted.

15/04/18 14:43:12 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0

15/04/18 14:43:12 INFO util.ExitUtil: Exiting with status 0

15/04/18 14:43:12 INFO namenode.NameNode: SHUTDOWN_MSG: 

/************************************************************

SHUTDOWN_MSG: Shutting down NameNode at laptop/192.168.1.1

************************************************************/

Date cuenta que este comando deberia ser ejecutado antes de que empezemos a usar el cluster. Si lo usas despues de que Hadoop haya sido utilizado, TODOS los datos del sistema de ficheros hadoop serán destruidos.

8. Arrancar el sistema y comprobar su estado

Ahora estas en disposicion de iniciar tu cluster con un unico nodo. Para ello, podemos usar unos scripts, start-all.sh, tambien start-dfs.sh o start-yarn.sh

hduser@laptop:~$ cd /usr/local/hadoop/sbin

hduser@laptop:/usr/local/hadoop/sbin$ ls

distribute-exclude.sh    start-all.cmd        stop-balancer.sh

hadoop-daemon.sh         start-all.sh         stop-dfs.cmd

hadoop-daemons.sh        start-balancer.sh    stop-dfs.sh

hdfs-config.cmd          start-dfs.cmd        stop-secure-dns.sh

hdfs-config.sh           start-dfs.sh         stop-yarn.cmd

httpfs.sh                start-secure-dns.sh  stop-yarn.sh

kms.sh                   start-yarn.cmd       yarn-daemon.sh

mr-jobhistory-daemon.sh  start-yarn.sh        yarn-daemons.sh

refresh-namenodes.sh     stop-all.cmd

slaves.sh                stop-all.sh

hduser@laptop:~$ start-all.sh

This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh

15/04/18 16:43:13 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

Starting namenodes on [localhost]

localhost: starting namenode, logging to /usr/local/hadoop/logs/hadoop-hduser-namenode-laptop.out

localhost: starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-laptop.out

Starting secondary namenodes [0.0.0.0]

0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop/logs/hadoop-hduser-secondarynamenode-laptop.out

15/04/18 16:43:58 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

starting yarn daemons

starting resourcemanager, logging to /usr/local/hadoop/logs/yarn-hduser-resourcemanager-laptop.out

localhost: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-hduser-nodemanager-laptop.out

Si ves todo eso, vamos bien, ahora, para comprobar que todo está levantado y funcionando, puedes lanzar unos comandos, como jps o netstat.

hduser@laptop:/usr/local/hadoop/sbin$ jps

9026 NodeManager

7348 NameNode

9766 Jps

8887 ResourceManager

7507 DataNode

La salida significa que tenemos una instancia funcional de hadoop corriendo en nuestra maquina.

Otra manera usando el comando netstat:

hduser@alonso:/usr/lib/jvm/java-8-oracle$ netstat -plten | grep java

(No todos los procesos pueden ser identificados, no hay información de propiedad del proceso

 no se mostrarán, necesita ser superusuario para verlos todos.)

tcp        0      0 0.0.0.0:50070           0.0.0.0:*               ESCUCHAR    1001       869578      1985/java       

tcp        0      0 0.0.0.0:50010           0.0.0.0:*               ESCUCHAR    1001       871864      2142/java       

tcp        0      0 0.0.0.0:50075           0.0.0.0:*               ESCUCHAR    1001       871871      2142/java       

tcp        0      0 0.0.0.0:50020           0.0.0.0:*               ESCUCHAR    1001       868559      2142/java       

tcp        0      0 127.0.0.1:54310         0.0.0.0:*               ESCUCHAR    1001       871633      1985/java       

tcp        0      0 0.0.0.0:50090           0.0.0.0:*               ESCUCHAR    1001       868573      2433/java       

tcp6       0      0 :::8088                 :::*                    ESCUCHAR    1001       852252      31051/java      

tcp6       0      0 :::8030                 :::*                    ESCUCHAR    1001       852243      31051/java      

tcp6       0      0 :::8031                 :::*                    ESCUCHAR    1001       852236      31051/java      

tcp6       0      0 :::8032                 :::*                    ESCUCHAR    1001       852248      31051/java      

tcp6       0      0 :::8033                 :::*                    ESCUCHAR    1001       853285      31051/java      

tcp6       0      0 :::36805                :::*                    ESCUCHAR    1001       868596      2746/java       

tcp6       0      0 :::8040                 :::*                    ESCUCHAR    1001       868603      2746/java       

tcp6       0      0 :::8042                 :::*                    ESCUCHAR    1001       875530      2746/java

9. Parar el cluster

Para parar el cluster configurado de esta manera, tendrias que ir al directorio /usr/local/hadoop/sbin y lanzar el script stop-all.sh. Si lo has lanzado con start-dfs.sh, tienes que usar el comando stop-dfs.sh. Lo mismo aplica si has usado start-yarn.sh, debes usar stop-yarn.sh.

hduser@alonso:/usr/lib/jvm/java-8-oracle$ cd /usr/local/hadoop

hduser@alonso:/usr/local/hadoop$ ls

bin  etc  include  lib  libexec  LICENSE.txt  logs  NOTICE.txt  README.txt  sbin  share

hduser@alonso:/usr/local/hadoop$ cd sbin/

hduser@alonso:/usr/local/hadoop/sbin$ ls

distribute-exclude.sh  hdfs-config.cmd  kms.sh                   slaves.sh      start-balancer.sh  start-secure-dns.sh  stop-all.cmd      stop-dfs.cmd        stop-yarn.cmd   yarn-daemons.sh

hadoop-daemon.sh       hdfs-config.sh   mr-jobhistory-daemon.sh  start-all.cmd  start-dfs.cmd      start-yarn.cmd       stop-all.sh       stop-dfs.sh         stop-yarn.sh

hadoop-daemons.sh      httpfs.sh        refresh-namenodes.sh     start-all.sh   start-dfs.sh       start-yarn.sh        stop-balancer.sh  stop-secure-dns.sh  yarn-daemon.sh

hduser@alonso:/usr/local/hadoop/sbin$ sh stop-all.sh 

This script is Deprecated. Instead use stop-dfs.sh and stop-yarn.sh

stop-all.sh: 99: /usr/local/hadoop/sbin/../libexec/hadoop-config.sh: Syntax error: word unexpected (expecting “)”)

Vaya! si lanzas el comando usando sh, el script fracasa. Debes lanzarlo asi:

hduser@alonso:/usr/local/hadoop/sbin$ ./stop-all.sh 

This script is Deprecated. Instead use stop-dfs.sh and stop-yarn.sh

15/12/11 10:56:50 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

Stopping namenodes on [localhost]

localhost: stopping namenode

localhost: stopping datanode

Stopping secondary namenodes [0.0.0.0]

0.0.0.0: stopping secondarynamenode

15/12/11 10:57:10 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

stopping yarn daemons

stopping resourcemanager

localhost: stopping nodemanager

no proxyserver to stop

Tambien puedes lanzarlos sin el punto barra. Estos scripts deberian tener permiso de ejecucion.

10. Usar la interfaz de usuario web que provee hadoop

Si no tienes arrancado hadoop, arrancalo ahora:

hduser@alonso:/usr/local/hadoop/sbin$ ./start-all.sh 

This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh

15/12/11 10:58:59 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

Starting namenodes on [localhost]

localhost: starting namenode, logging to /usr/local/hadoop/logs/hadoop-hduser-namenode-alonso.out

localhost: starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-alonso.out

Starting secondary namenodes [0.0.0.0]

0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop/logs/hadoop-hduser-secondarynamenode-alonso.out

15/12/11 10:59:14 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

starting yarn daemons

starting resourcemanager, logging to /usr/local/hadoop/logs/yarn-hduser-resourcemanager-alonso.out

localhost: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-hduser-nodemanager-alonso.out

hduser@alonso:/usr/local/hadoop/sbin$ ./stop-all.sh 

This script is Deprecated. Instead use stop-dfs.sh and stop-yarn.sh

15/12/11 11:01:39 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

Stopping namenodes on [localhost]

localhost: stopping namenode

localhost: stopping datanode

Stopping secondary namenodes [0.0.0.0]

0.0.0.0: stopping secondarynamenode

15/12/11 11:01:57 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

stopping yarn daemons

stopping resourcemanager

localhost: stopping nodemanager

no proxyserver to stop

hduser@alonso:/usr/local/hadoop/sbin$ start-all.sh 

This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh

15/12/11 11:02:33 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

Starting namenodes on [localhost]

localhost: starting namenode, logging to /usr/local/hadoop/logs/hadoop-hduser-namenode-alonso.out

localhost: starting datanode, logging to /usr/local/hadoop/logs/hadoop-hduser-datanode-alonso.out

Starting secondary namenodes [0.0.0.0]

0.0.0.0: starting secondarynamenode, logging to /usr/local/hadoop/logs/hadoop-hduser-secondarynamenode-alonso.out

15/12/11 11:02:48 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

starting yarn daemons

starting resourcemanager, logging to /usr/local/hadoop/logs/yarn-hduser-resourcemanager-alonso.out

localhost: starting nodemanager, logging to /usr/local/hadoop/logs/yarn-hduser-nodemanager-alonso.out

Introduce la url http://localhost:50070/ en tu navegador. Deberias ver la interfaz de usuario del demonio que controla el NameNode maestro.

Si quieres ver la interfaz de usuario del NameNode secundario, utiliza esta direccion: http://localhost:50090/

Usando estas interfaces puedes ver bastantes cosas, como el estado del DataNode, los ficheros logs, puedes explorar el sistema de ficheros tambien como lo hace HUE.

Con esto, me despido.

Alonso

enlaces de interes:

http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html

https://help.ubuntu.com/community/Java

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s